Comment utiliser Python CSV Dictreader

Comment utiliser Python CSV Dictreader

Le dictreader () est utilisé pour lire le fichier du CSV dans le format de l'objet dict. Discutons de la façon d'utiliser la méthode diCtreader () dans Python.

Avant de commencer le cours principal de cet article, comprenons d'abord ce qu'est un fichier CSV.

Qu'est-ce qu'un fichier CSV (virgules séparés par les valeurs)?:

Un CSV est un fichier dans lequel les données se présentent sous la forme d'un choix d'utilisateur séparé ou d'un autre délimiteur séparé. Ces fichiers ont une extension CSV. Ce fichier CSV est principalement utilisé dans l'analyse des données. Outre l'analyse des données, le fichier CSV est également utilisé dans l'application de commerce électronique car il est très facile à gérer dans tous les différents langages de programmation.

Méthode diCtreader () Pour lire le nom de la colonne particulière:

Fichier CSV: Ci-dessous est un test.fichier csv. Ce fichier CSV nous serons lus à partir du dictreader (). Dans ce programme, nous n'allons pas lire l'intégralité des données du fichier CSV à la place uniquement la colonne du mois comme indiqué dans ce qui précède:

"Mois", "1958", "1959", "1960"
"Jan", 340, 360, 417
"Février", 318, 342, 391
"Mar", 362, 406, 419
"Avr", 348, 396, 461
"May", 363, 420, 472
"Jun", 435, 472, 535
"Jul", 491, 548, 622
"Aug", 505, 559, 606
"Sep", 404, 463, 508
"Oct", 359, 407, 461
"Nov", 310, 362, 390
"Dec", 337, 405, 432

Code python:

Importer CSV
avec ouvert ('test.csv ') comme f:
DiCtreader_OBJ = CSV.Dictreader (f)
Pour un élément dans diCtreader_OBJ:
Imprimer (article ['mois'])

Sortir:

JAN
FÉV
MAR
AVR
PEUT
Juin
JUIL
Août
SEP
OCT
NOV
DÉC

Ligne 1: Nous importons le module CSV.

Ligne 2 à 5: Nous ouvrons le test.Fichier CSV comme F, puis nous créons un objet du Dicton. L'object (DiCtreader_OBJ) Affiche ensuite toutes les données du mois de la colonne.

Méthode diCtreader () pour lire le fichier CSV en tant que dictionnaire:

Maintenant, nous allons voir comment nous pouvons lire le CSV comme un format de dictionnaire. Nous utilisons le même test.Fichier CSV comme nous avons utilisé avant. L'exemple de cette méthode est donné ci-dessous:

Importer CSV
avec ouvert ('test.csv ') comme f:
DiCtreader_OBJ = CSV.Dictreader (f)
Pour un élément dans diCtreader_OBJ:
imprimer (dict (article))

Sortir:

'Mois': 'Jan', '"1958"': '340', '"1959"': '360', '"1960"': '417'
'Mois': 'Feb', '"1958"': '318', '"1959"': '342', '"1960"': '391'
'Mois': 'mar', '"1958"': '362', '"1959"': '406', '"1960"': '419'
'Mois': 'avr', '"1958"': '348', '"1959"': '396', '"1960"': '461'
'Mois': 'May', '"1958"': '363', '"1959"': '420', '"1960"': '472'
'Mois': 'Jun', '"1958"': '435', '"1959"': '472', '"1960"': '535'
'Mois': 'juil', '"1958"': '491', '"1959"': '548', '"1960"': '622'
'Mois': 'Aug', '"1958"': '505', '"1959"': '559', '"1960"': '606'
'Mois': 'Sep', '"1958"': '404', '"1959"': '463', '"1960"': '508'
'Mois': 'oct', '"1958"': '359', '"1959"': '407', '"1960"': '461'
'Mois': 'nov', '"1958"': '310', '"1959"': '362', '"1960"': '390'
'Month': 'Dec', '"1958"': '337', '"1959"': '405', '"1960"': '432'

Ligne 1: Nous importons le module CSV.

Ligne 2 à 5: Nous ouvrons le test.Fichier CSV en tant que F, puis nous créons un objet du dictreader. L'objet continuera d'itérer jusqu'à ce que les données. Le CSV.DiCtreader () retournera chaque rangée de type et oreedereddict, nous convertissons donc chaque ligne de type ordonnée en un dict en utilisant la méthode de casting de type. Le lecteur d'objet affiche ensuite toutes les données au format du dictionnaire, comme indiqué dans la sortie ci-dessus.

Mais, si vous utilisez le dernier Python, alors la conversion de type dict n'est pas requise, car nous utilisons le type de type Numéro 5 de l'exemple de programme ci-dessus.

Méthode dictWriter ():

La méthode DictWriter fait partie de la méthode DiCtreader où elle aide à rédiger les données de format de dictionnaire dans le fichier CSV. Donc, dans ce programme, nous verrons comment nous pouvons écrire les données du dictionnaire au CSV.

Importer CSV
avec ouvert ('sortie.csv ', "w", newline = "", encoding = "utf-8-sig") comme OutFile:
écrivain = CSV.DictWriter (OutFile, ["FirstName", "LastName"])
écrivain.WriteHeader ()
new_row = "FirstName": "Linux", "LastName": "Hint"
écrivain.writerow (new_row)

Ouput:

Prénom nom de famille
Linux, indice

Ligne 3 à 7: Nous ouvrons la sortie.Fichier CSV en mode d'écriture ('W'). Ensuite, nous passons l'en-tête du CSV sous la forme de la liste au dictwriter tout en créant l'objet lui-même. Nous devons raconter les noms de colonne du CSV à l'objet avant d'écrire au CSV; Sinon, il générera une erreur car alors l'objet ne pourra pas comprendre les noms de clés du dictionnaire. Dans la ligne 6, nous avons créé un objet dict et l'avons transmis à l'objet Writerow pour écrire dans le fichier CSV.

La sortie montre que nos données sont écrites avec succès sur le fichier CSV.

Méthode dictWriter () Pour rédiger une liste de données de dictionnaire à CSV:

Dans ce programme, nous verrons comment nous pouvons rédiger une liste de données de dictionnaire à CSV. Dans l'exemple précédent, nous n'avons écrit que des données de dictionnaire unique à CSV pour comprendre le concept. Mais nous écrivons CSV avec d'énormes données dans la vie quotidienne. Nous allons donc voir ce scénario dans cet exemple.

Importer CSV
avec ouvert ('sortie.csv ',' w ') comme csvfile:
Col = ['FirstName', 'LastName', 'GradePoint']
écrivain = CSV.DictWriter (CSVFile, FieldNames = Col)
écrivain.WriteHeader ()
écrivain.writerrows (['GreadePoint': 'B', 'FirstName': 'Jeorge', 'LastName': 'Belly',
?,
'Gradepoint': 'C', 'FirstName': 'Sheon', 'LastName': 'Shaiyer',
?,
?

Sortir:

FirstName, LastName, Grade
Jeorge, ventre, b
Krishna, Kumar, un
Sheon, Shaiyer, C
Janny, Jeus, B
Sham, Sharma, un

Ligne 3 à 11: Nous ouvrons la sortie.Fichier CSV en mode d'écriture ('W'). Ensuite, nous passons l'en-tête du CSV sous la forme de la liste au dictwriter tout en créant l'objet lui-même. Nous devons raconter les noms de colonne du CSV à l'objet avant d'écrire au CSV; Sinon, il générera une erreur car alors l'objet ne pourra pas comprendre les noms de clés du dictionnaire. Dans la ligne 7, nous avons créé une liste d'objets Dictionary et l'avons transmis à l'objet Ecriterrows pour écrire toutes les données dans le fichier CSV à la fois.

La sortie montre que nos données sont écrites avec succès sur le fichier CSV.

Conclusion: Dans cet article, nous avons appris à utiliser les méthodes dictreader () et dictWriter (). Nous avons également vu la façon d'écrire une liste d'objets de dictionnaire à CSV à la fois. La principale différence lorsque nous écrivons une liste de dictionnaires ou un seul objet de dictionnaire est la méthode des écrivains. Nous avons utilisé la méthode des écrivains lorsque nous avions plus d'une données et le writerow alors que nous n'avions que des données uniques.