[python] Récupératon de données dans un .txt
Fermé
Christophe750
Messages postés
3
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
14 mars 2008
-
13 mars 2008 à 14:26
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 2 juin 2008 à 22:36
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 2 juin 2008 à 22:36
A voir également:
- Extraire données fichier texte python
- Fichier rar - Guide
- Extraire une video youtube - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
5 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
14 mars 2008 à 09:00
14 mars 2008 à 09:00
Pour ce qui est du csv, en effet ça ressemble mais ce que j'ai donnée n'est qu'un exemple, les données que je vais recevoir ce n'est pas moi qui les créées et je ne sais pas encore quel caractère séparera mes données.
Le module CVS permet justement de spécifier le séparateur de son choix.
Attention: lire des fichiers avec séparateur n'est pas aussi simple qu'il n'y paraît (je vous parle d'expérience).
Je vous recommande chaudement l'utilisation du module CVS pour éviter les problèmes.
Exemple d'utilisation (si ton séparateur est |):
Le module CVS permet justement de spécifier le séparateur de son choix.
Attention: lire des fichiers avec séparateur n'est pas aussi simple qu'il n'y paraît (je vous parle d'expérience).
Je vous recommande chaudement l'utilisation du module CVS pour éviter les problèmes.
Exemple d'utilisation (si ton séparateur est |):
import csv fichier= csv.reader(open("monfichier.dat", "rb"), delimiter='|') for ligne in fichier: print ligne[0], ligne[1]
14 mars 2008 à 12:05
Pourquoi? Effectivement moi j'aurais tendance à ne pas utiliser de lib pour faire ça et à utiliser des split. Ca évite quel genre de problème d'utiliser un parser CSV?
14 mars 2008 à 12:49
- où le délimiteur de champ (,) est présent dans la chaîne (il faut quoter/déquoter correctement les cellules ("))
- où le quoteur de chaîne (") est présent dans les cellules: il faut l'échapper/le déséchapper (" --> "")
- où le séparateur de ligne est présent dans une cellule --> il faut gérer également correctement.
ça devient rapidement délicat, et si ce n'est pas géré correctement, ton programme se prendra les pieds dans le tapis dès que tu importera un fichier csv où un utilisateur a eu le malheur de mettre un retour-chariot dans une cellule.
Exemple de fichier CSV tordu:
https://imageshack.com/
Si tu travaille ça avec des readline() et des split(), t'es mort.
14 mars 2008 à 12:53
2 juin 2008 à 18:11
J'ai moi même un problème dans la lecture des csv avec python.
Je dois lire des fichiers assez lourds (genre 100 000 lignes), et donc mettre print row me fait perdre énormément de temps. Y a t'il d'autres solutions ? Je comptais juste les mettre dans un tableau, mais je n'y arrive pas (enfin, si, j'y arrive, mais APRES les avoir "print"). Y a t'il d'autres voies que de passer par print ?
2 juin 2008 à 22:36
Une fois les données lues, tu veux en faire quoi ?
Les écrire dans une base de données ? Le ré-écrire dans un autre format ? Faire des calculs dessus ?
Le print ne sert qu'à afficher à l'écran.