Maison  >  Article  >  développement back-end  >  Exemple de partage de code sur la façon dont Python fonctionne sur les fichiers Csv (image)

Exemple de partage de code sur la façon dont Python fonctionne sur les fichiers Csv (image)

黄舟
黄舟original
2017-05-14 12:01:171296parcourir

Cet article présente principalement l'exemple de code d'utilisation de Python pour faire fonctionner les fichiers Csv. C'est très pratique. Les amis dans le besoin peuvent s'y référer

csv est l'abréviation de Virgule-. Valeurs séparées. Les données du Tableau sont stockées sous forme de fichiers texte. Par exemple, le tableau suivant :

peut être stocké sous forme de fichier csv. Le contenu du fichier est :

No.,Name,Age,Score
1,mayi,18,99
2,jack,21,89
3,tom,25,95
4,rain,19,80

Supposons que le fichier csv ci-dessus soit enregistré sous "test.csv"

1 Lisez le fichier

Comment utiliser Python pour extraire une des colonnes comme en utilisant Excel , c'est-à-dire un champ En utilisant le module csv fourni avec Python, il existe deux façons de l'implémenter :

La première méthode utilise le lecteur. La

fonction pour recevoir un objet itérable (comme un fichier csv) peut renvoyer un générateur , à partir duquel le contenu du csv peut être analysé : Par exemple, le code suivant peut lire tout le contenu du csv et se comporter comme Unité :

#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.reader(f)
  rows = [row for row in reader]

print(rows)
Get :

[['No.', 'Name', 'Age', 'Score'],
 ['1', 'mayi', '18', '99'],
 ['2', 'jack', '21', '89'],
 ['3', 'tom', '25', '95'],
 ['4', 'rain', '19', '80']]
Pour extraire une des colonnes, vous peut utiliser le code suivant :

#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读取第二列的内容
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.reader(f)
  column = [row[1] for row in reader]

print(column)
Get :

['Name', 'mayi', 'jack', 'tom', 'rain']
Notez que toutes les données lues à partir de csv sont de type str. Cette méthode nécessite de connaître le numéro de colonne à l'avance, par exemple, le nom est dans la colonne 2 et ne peut pas être interrogé en fonction du titre

de « Nom ». À ce stade, vous pouvez utiliser la deuxième méthode : La deuxième méthode consiste à utiliser DictReader, qui est similaire à la fonction reader. Elle reçoit un objet itérable et peut renvoyer un générateur, mais chaque cellule renvoyée est placée. Dans la valeur d'un dictionnaire, la clé de ce dictionnaire est le titre (c'est-à-dire l'en-tête de colonne) de cette cellule. Vous pouvez voir la structure de DictReader avec le code suivant :

Obtenir :
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.DictReader(f)
  column = [row for row in reader]

print(column)

Si nous voulons utiliser DictReader pour lire une certaine colonne de csv, nous pouvons utiliser le Requête de titre de colonne :
[{'No.': '1', 'Age': '18', 'Score': '99', 'Name': 'mayi'},
 {'No.': '2', 'Age': '21', 'Score': '89', 'Name': 'jack'},
 {'No.': '3', 'Age': '25', 'Score': '95', 'Name': 'tom'},
 {'No.': '4', 'Age': '19', 'Score': '80', 'Name': 'rain'}]

Obtenir :
#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读取Name列的内容
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.DictReader(f)
  column = [row['Name'] for row in reader]
print(column)

['mayi', 'jack', 'tom', 'rain']
2. Écrire le fichier

Lors de la lecture du fichier, nous lisons le fichier csv. dans la liste, lors de l'écriture d'un fichier, les éléments de la liste seront écrits dans le fichier csv.

Obtenez :
#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#写:追加
row = ['5', 'hanmeimei', '23', '81']
out = open("test.csv", "a", newline = "")
csv_writer = csv.writer(out, dialect = "excel")
csv_writer.writerow(row)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn