Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielcode-Sharing für die Funktionsweise von Python mit CSV-Dateien (Bild)

Beispielcode-Sharing für die Funktionsweise von Python mit CSV-Dateien (Bild)

黄舟
黄舟Original
2017-05-14 12:01:171385Durchsuche

In diesem Artikel wird hauptsächlich der Beispielcode für die Verwendung von Python zum Betrieb von CSV-Dateien vorgestellt. Dies ist sehr praktisch.

CSV ist die Abkürzung für Comma. Getrennte Werte. Tabelle Daten werden in Form von Textdateien gespeichert. Beispielsweise kann die folgende Tabelle:

als CSV-Datei gespeichert werden. Der Dateiinhalt ist:

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

Angenommen, die obige CSV-Datei ist als „test.csv“ gespeichert

1. Lesen Sie die Datei

So verwenden Sie Python, um eine der Spalten wie bei der Bedienung von Excel zu extrahieren, d

Funktion

zum Empfangen eines iterierbaren Objekts (z. B. einer CSV-Datei) kann einen Generator zurückgeben, von dem der Inhalt der CSV analysiert werden kann: Zum Beispiel: Der folgende Code kann den gesamten Inhalt der CSV lesen und sich wie folgt verhalten: Einheit:

Get:
#!/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)

So extrahieren Sie eine der Spalten kann den folgenden Code verwenden:
[['No.', 'Name', 'Age', 'Score'],
 ['1', 'mayi', '18', '99'],
 ['2', 'jack', '21', '89'],
 ['3', 'tom', '25', '95'],
 ['4', 'rain', '19', '80']]

Get:
#!/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)

Beachten Sie, dass alle aus CSV gelesenen Daten vom Typ str sind. Bei dieser Methode muss die Spaltennummer im Voraus bekannt sein. Beispielsweise befindet sich „Name“ in Spalte 2 und kann nicht anhand des Titels
['Name', 'mayi', 'jack', 'tom', 'rain']
von „Name“ abgefragt werden. Zu diesem Zeitpunkt können Sie die zweite Methode verwenden:

Die zweite Methode ist die Verwendung von DictReader, die der Reader-Funktion ähnelt. Sie empfängt ein iterierbares Objekt und kann einen Generator zurückgeben, aber jede zurückgegebene Zelle wird platziert Innerhalb des Werts eines Wörterbuchs und der Schlüssel dieses Wörterbuchs ist der Titel (d. h. der Spaltenkopf) dieser Zelle. Sie können die Struktur von DictReader mit dem folgenden Code sehen:

Get:

# -*- 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)

Wenn wir DictReader verwenden möchten, um eine bestimmte CSV-Spalte zu lesen, können wir die verwenden Spaltentitelabfrage:

[{'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'}]

Get:

#!/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)

2. Datei schreiben
['mayi', 'jack', 'tom', 'rain']

Beim Lesen der Datei lesen wir die CSV-Datei in die Liste. Beim Schreiben einer Datei werden die Elemente in der Liste in die CSV-Datei geschrieben.

Erhalten Sie:

#!/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)

Das obige ist der detaillierte Inhalt vonBeispielcode-Sharing für die Funktionsweise von Python mit CSV-Dateien (Bild). 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