Maison > Article > développement back-end > Apprenez à lire et à écrire des fichiers CSV en python dans un seul article
Cet article vous apporte des connaissances pertinentes sur Python, qui organise principalement les problèmes liés à la lecture et à l'écriture de fichiers CSV. CSV (Comma-Separated Values) est une valeur séparée par des virgules dans les fichiers texte stockés dans des lignes. sont exprimés sous forme de types de chaînes. Jetons-y un coup d'œil. J'espère que cela sera utile à tout le monde.
【Recommandation associée : Tutoriel vidéo Python3】
CSV (Comma-Separated Values) est une valeur séparée par des virgules, un fichier texte stocké dans des lignes séparées par des virgules. Toutes les valeurs sont représentées comme. types de chaîne (Remarque : les nombres sont de type chaîne).
S'il y a du chinois dans le CSV, il doit être lu et écrit en codage utf-8
Python a sa propre bibliothèque pour les fichiers csv qui peuvent être utilisés. nous voulons effectuer des opérations sur des fichiers csv. Il suffit de l'importer directement lors de la lecture et de l'écriture. |
import csv
Syntaxe : csv.writer(f):
writer prend en charge l'écriture sur une seule ligne (liste) et les lignes d'écriture ( Liste imbriquée) Écrivez plusieurs lignes par lots sans sauvegarde manuelle.
import csv header = ['name','age','QQ_num','wechat']data = [['suliang','21','787991021','lxzy787991021']]with open ('information.csv','w',encoding='utf-8',newline='') as fp: # 写 writer =csv.writer(fp) # 设置第一行标题头 writer.writerow(header) # 将数据写入 writer.writerows(data)
Résultat :
Notez que lors de l'ouverture du fichier, le format doit être spécifié comme w, écriture de texte
Lors de l'ouverture du fichier, précisez de ne pas ajouter automatiquement de nouvelles lignes newline='', sinon il y aura. un de plus pour chaque ligne écrite.
Syntaxe : csv.reader(f, delimiter=',')
le lecteur est un générateur, lisant une ligne à la fois, chaque ligne de données est au format liste , vous pouvez spécifier le délimiteur via le paramètre délimiteur
import csvwith open('information.csv',encoding='utf-8')as fp: reader = csv.reader(fp) # 获取标题 header = next(reader) print(header) # 遍历数据 for i in reader: print(i)
Résultat :
Lors de la lecture du fichier, le chemin du fichier doit être écrit correctement. Si vous n'êtes pas sûr, vous pouvez écrire le chemin absolu. Pour obtenir le contenu du csv, vous devez parcourir puis sortir.
Syntaxe : csv.DicWriter(f) :
Lors de l'écriture, vous pouvez utiliser writeheader() pour écrire le titre, puis utiliser writerow (ligne de données au format dictionnaire) ou writerows (Données multi-lignes)
import csv header = ['name','age']data = [{'name':'suliang','age':'21'}, {'name':'xiaoming','age':'22'}, {'name':'xiaohu','age':'25'}]with open ('information.csv','w',encoding='utf-8',newline='') as fp: # 写 writer =csv.DictWriter(fp,header) # 写入标题 writer.writeheader() # 将数据写入 writer.writerows(data)
Résultat :
Syntaxe : csv.DicReader(f, delimiter=',')
Assemblez directement le titre et chaque colonne de données au format OrderedDict, pas besoin de lire la ligne d'en-tête séparément
import csvwith open('information.csv',encoding='utf-8')as fp: reader = csv.DictReader(fp) for i in reader print(i)
Résultat :
r : Ouvrez le fichier en mode lecture, vous pouvez lire les informations du fichier
w : Ouvrez le fichier en mode écrit et écrivez les informations dans le fichier. Si le fichier existe, effacez-le et écrivez à nouveau.
r+ : Ouvrez le fichier en mode lecture-écriture. Vous pouvez ouvrir le fichier en mode ajout. Lire et écrire le fichiera : Ouvrez le fichier en mode ajout, le pointeur peut être déplacé vers la fin. Si le fichier n'existe pas, créez-le.
w+ : Éliminez le contenu du fichier, ouvrez le fichier en mode lecture et écriture
. a+ : Ouvrez le fichier en mode lecture et écriture, déplacez le pointeur du fichier vers la fin
b : Ouvrez le fichier en mode binaire
【Recommandations associées :Tutoriel vidéo Python3
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!