Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Python-Methode zum Lesen und Schreiben von Dateien im CSV-Format

Detaillierte Erläuterung der Python-Methode zum Lesen und Schreiben von Dateien im CSV-Format

高洛峰
高洛峰Original
2017-03-19 15:52:392872Durchsuche

Python liest und schreibt Dateien im CSV-Format

Bei der Datenanalyse ist es häufig erforderlich, auf Daten aus Dateien im CSV-Format zuzugreifen und Daten in CSV-Dateien zu schreiben. Es ist sehr praktisch und problemlos, die Daten in der CSV-Datei direkt in den Diktattyp und den DataFrame einzulesen. Der folgende Code dient als Beispiel für Iris-Daten.

CSV-Datei wird als Diktat gelesen

Code

# -*- coding: utf-8 -*-
import csv
with open('E:/iris.csv') as csvfile:
reader = csv.DictReader(csvfile, fieldnames=None)   # fieldnames默认为None,如果所读csv文件没有表头,则需要指定
list_1 = [e for e in reader]  # 每行数据作为一个dict存入链表中
csvfile.close()
print list_1[0]

Ausgabe

{'Petal.Length': '1.4', 'Sepal.Length': '5.1', 'Petal.Width': '0.2', 'Sepal.Width': '3.5', 'Species': 'setosa'}

Wenn jedes gelesene Datenelement separat verarbeitet werden muss und Die Datenmenge ist groß, daher wird empfohlen, sie vor dem Einfügen einzeln zu verarbeiten.

list_1 = list()
for e in reader:
  list_1.append(your_func(e)) # your_func为每条数据的处理函数

Mehrere Daten vom Typ dict in eine CSV-Datei schreiben

Code

#   数据
data = [
{'Petal.Length': '1.4', 'Sepal.Length': '5.1', 'Petal.Width': '0.2', 'Sepal.Width': '3.5', 'Species': 'setosa'},
{'Petal.Length': '1.4', 'Sepal.Length': '4.9', 'Petal.Width': '0.2', 'Sepal.Width': '3', 'Species': 'setosa'},
{'Petal.Length': '1.3', 'Sepal.Length': '4.7', 'Petal.Width': '0.2', 'Sepal.Width': '3.2', 'Species': 'setosa'},
{'Petal.Length': '1.5', 'Sepal.Length': '4.6', 'Petal.Width': '0.2', 'Sepal.Width': '3.1', 'Species': 'setosa'}
]
#   表头
header = ['Petal.Length', 'Sepal.Length', 'Petal.Width', 'Sepal.Width', 'Species']
print len(data)
with open('E:/dst.csv', 'wb') as dstfile:   #写入方式选择wb,否则有空行
    writer = csv.DictWriter(dstfile, fieldnames=header)
    writer.writeheader()    #   写入表头
    writer.writerows(data)  # 批量写入
dstfile.close()

Der obige Code schreibt die gesamten Daten in eine CSV-Datei Die Datenmenge ist groß. Wenn Sie in Echtzeit sehen möchten, wie viele Daten geschrieben wurden, können Sie die Writerows-Funktion verwenden.

CSV-Datei als DataFrame lesen

Code

# 读取csv文件为DataFrame
import pandas as pd
dframe = pd.DataFrame.from_csv('E:/iris.csv')

Sie können es auch ein wenig drehen:

import csv
import pandas as pd
with open('E:/iris.csv') as csvfile:
    reader = csv.DictReader(csvfile, fieldnames=None)   # fieldnames默认为None,如果所读csv文件没有表头,则需要指定
    list_1 = [e for e in reader]  # 每行数据作为一个dict存入链表中
csvfile.close()
dfrme = pd.DataFrame.from_records(list_1)

DataFrame schreibt CSV-Datei

dfrme.to_csv('E:/dst.csv', index=False) # 不要每行的编号

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Python-Methode zum Lesen und Schreiben von Dateien im CSV-Format. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn