Comment lire un fichier CSV avec Python 2/3

Un moyen simple de lire des fichiers CSV à partir de programmes Python.

Méthode

Facile à utiliser avec le module standard de la bibliothèque csv.

Sample Fonctionne avec Python 2/3. Il existe un support japonais.

https://github.com/thombashi/PythonExamples/tree/master/csv

csv_read.py


from __future__ import print_function
from __future__ import unicode_literals
import argparse
import csv
import io

import six


parser = argparse.ArgumentParser()
parser.add_argument("csv_file_path")
parser.add_argument("--encoding", default="utf_8")
options = parser.parse_args()

csv_reader = csv.reader(
    io.open(options.csv_file_path, "r", encoding=options.encoding),
    delimiter=",",
    quotechar='"'
)

print("--- header ---\n{}\n".format(six.next(csv_reader)))
print("--- data ---")
for row in csv_reader:
    print(row)

Exemple d'opération: ascii

sample_ascii.csv


"Country or Area","Year","Area","Sex","Record Type","Reliability","Source Year","Value","Value Footnotes"
"Afghanistan","2014","Total","Both Sexes","Estimate - de facto","Final figure, incomplete/questionable reliability","2015","26556754","1"
"Afghanistan","2014","Total","Male","Estimate - de facto","Final figure, incomplete/questionable reliability","2015","13585933","1"
"Afghanistan","2014","Total","Female","Estimate - de facto","Final figure, incomplete/questionable reliability","2015","12970821","1"
$ ./csv_read.py sample_ascii.csv
--- header ---
['Country or Area', 'Year', 'Area', 'Sex', 'Record Type', 'Reliability', 'Source Year', 'Value', 'Value Footnotes']

--- data ---
['Afghanistan', '2014', 'Total', 'Both Sexes', 'Estimate - de facto', 'Final figure, incomplete/questionable reliability', '2015', '26556754', '1']
['Afghanistan', '2014', 'Total', 'Male', 'Estimate - de facto', 'Final figure, incomplete/questionable reliability', '2015', '13585933', '1']
['Afghanistan', '2014', 'Total', 'Female', 'Estimate - de facto', 'Final figure, incomplete/questionable reliability', '2015', '12970821', '1']

Exemple de fonctionnement: UTF-8

sample_utf8.csv


dataset_id,year,publisher,group_title,frequency_of_update,data_format,language,resource_count
12971,2015,Agence de la consommation,Administratif et financier,Annuel,PDF,Anglais,1
12971,2015,Agence de la consommation,Administratif et financier,Annuel,HTML,Japonais,59
12971,2015,Agence de la consommation,Administratif et financier,Annuel,PDF,Japonais,4
12972,2015,Agence de la consommation,Administratif et financier,Annuel,HTML,Japonais,3
12972,2015,Agence de la consommation,Administratif et financier,Annuel,PDF,Japonais,6
12973,2015,Agence de la consommation,Administratif et financier,Annuel,PDF,Japonais,6
12974,2015,Agence de la consommation,Administratif et financier,Annuel,PDF,Japonais,4
12975,2015,Agence de la consommation,Administratif et financier,Autre (description gratuite),PDF,Japonais,7
12976,2015,Agence de la consommation,Administratif et financier,Autre (description gratuite),PDF,Japonais,4
$ ./csv_read.py sample_utf8.csv
--- header ---
['dataset_id', 'year', 'publisher', 'group_title', 'frequency_of_update', 'data_format', 'language', 'resource_count']

--- data ---
['12971', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'PDF', 'Anglais', '1']
['12971', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'HTML', 'Japonais', '59']
['12971', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'PDF', 'Japonais', '4']
['12972', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'HTML', 'Japonais', '3']
['12972', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'PDF', 'Japonais', '6']
['12973', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'PDF', 'Japonais', '6']
['12974', '2015', 'Agence de la consommation', 'Administratif et financier', 'Annuel', 'PDF', 'Japonais', '4']
['12975', '2015', 'Agence de la consommation', 'Administratif et financier', 'Autre (description gratuite)', 'PDF', 'Japonais', '7']
['12976', '2015', 'Agence de la consommation', 'Administratif et financier', 'Autre (description gratuite)', 'PDF', 'Japonais', '4']

référence

encoding - Python 2 and 3 csv reader - Stack Overflow http://stackoverflow.com/questions/5180555/python-2-and-3-csv-reader

Recommended Posts

Comment lire un fichier CSV avec Python 2/3
[Python] Comment lire des fichiers Excel avec des pandas
[Python] Ecrire dans un fichier csv avec Python
Sortie vers un fichier csv avec Python
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
[Python] Comment convertir un fichier db en csv
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
Lire le fichier csv Python
Comment faire une commande pour lire le fichier de paramètres avec pyramide
[Python] Comment stocker un fichier csv en tant que données de tableau à une dimension
[Python] Lire un fichier csv avec une grande taille de données à l'aide d'un générateur
[ROS2] Comment lire un fichier bag avec le lancement au format python
Comment créer un fichier JSON en Python
Lire ligne par ligne à partir d'un fichier avec Python
Je veux écrire dans un fichier avec Python
Comment lire des fichiers dans différents répertoires
Lire csv avec des pandas python
Écrire en csv avec Python
Télécharger le fichier csv avec python
Lire et formater des fichiers csv mélangés avec des tabulations de virgule avec des pandas Python
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
Comment convertir / restaurer une chaîne avec [] en python
[Python] Comment dessiner un graphique linéaire avec Matplotlib
J'ai essayé de toucher un fichier CSV avec Python
Comment mesurer le temps de lecture d'un fichier mp3 avec python
[Python] Comment gérer l'erreur de lecture pandas read_html
[Python] Un mémo pour écrire du CSV verticalement avec Pandas
Comment enregistrer une table récupérée par python en csv
Script Python qui crée un fichier JSON à partir d'un fichier CSV
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Comment lire un csv contenant uniquement des entiers en Python
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Python: comment utiliser async avec
Résumé de la lecture des données numériques avec python [CSV, NetCDF, Fortran binary]
Comment déposer Google Docs dans un dossier dans un fichier .txt avec python
Traitement du signal acoustique haute résolution (1) - Comment lire un fichier wav 24 bits avec Python
Comment démarrer avec Python
Comment calculer la date avec python
Comment créer un fichier de configuration
Comment mettre un lien hypertexte vers "file: // hogehoge" avec sphinx-> pdf
Comment installer NPI + envoyer un message à la ligne avec python
Comment changer le fichier de configuration pour qu'il soit lu par Python
Comment convertir un tableau en dictionnaire avec Python [Application]
Comment exécuter un fichier Python à une invite de commande Windows 10
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
Comment importer des fichiers où vous le souhaitez en Python
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
[Python Kivy] Comment créer un fichier exe avec pyinstaller
[Python] Comment générer une table pandas dans un fichier Excel
Créer un fichier power simple avec Python
Comment lire pydoc sur l'interpréteur python
Comment ajouter un package avec PyCharm
[Python] Comment rendre une classe itérable
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
Comment convertir Python en fichier exe
[Python] Convertit les délimiteurs de fichier csv en délimiteurs de tabulation