-3
votes

Convertir des lignes CSV en colonnes de Python

J'ai un fichier csv comme: Data CSV

Vous voulez convertir en liste unique comme: 253 514 517 6514 6518 407,865

lire la ligne de données sage en négligeant 0 et des duplications


4 commentaires

Est-ce que la commande est importante?


Qu'avez-vous essayé? Donc, ce n'est pas un service de codage.


Pas de liens. Mettez le code dans le navigateur ou vous serez marqué. Je vais le convertir en colonnes si vous le faites.


Qu'avez-vous essayé? Veuillez fournir le code minimal requis pour reproduire le problème que vous voyez jusqu'à présent.


3 Réponses :


1
votes

let 'table.csv' soit votre fichier CSV. Vous pouvez faire quelque chose comme xxx

alors vos numéros seraient stockés dans numéros . Notez que cette solution ne fonctionne que si la commande est sans importance.

Essayez-le avec le fichier CSV suivant: xxx

la sortie est {1, 2, 3, 7, -1} .


2 commentaires

Cela ne filtrera pas le 0s, peut-être si int (num) .


@Alexhall Yup, a raté cela. Maintenant, cela devrait fonctionner.



0
votes
import csv
import itertools
from collections import OrderedDict

with open('data.csv') as f:
    reader = csv.reader(f)
    next(reader)  # ignore header
    nums = list(OrderedDict.fromkeys(  # remove duplicates while keeping order
        filter(  # remove 0s
            None,
            map(
                int,
                itertools.chain.from_iterable(reader)  # flatten
            )
        )
    ))

1 commentaires

Souhaitez-vous ajouter des commentaires à votre solution?



0
votes

Peut-être que cela résolvez votre problème xxx


0 commentaires