Python-Lernen (Ergänzung)

Dies ist eine Ergänzung zu dem zuvor erwähnten Python-CSV-Modul.

Ehrlich gesagt können Sie es durch Dokument oder Google verstehen, Bewahren Sie es als Memorandum auf

Wenn Sie eine CSV-Datei öffnen und in eine andere Datei schreiben möchten Verwenden Sie die Reader-Methode, um im Listenformat zu übergeben

Zu diesem Zeitpunkt liegt der Rückgabewert der Reader-Methode natürlich im Listenformat vor.

import csv

data=[]

#Lesen Sie CSV im Listenformat
with open('data.csv' , 'r', newline='' , encoding='utf-8') as f:

    r = csv.reader(f)
    data = [ i for i in r ]

#Schreiben Sie CSV im Listenformat
with open('data.csv' , 'w', newline='' , encoding='utf-8') as f:

    w = csv.writer(f)
    w.writerows(data)

Zu diesem Zeitpunkt handelt es sich bei den Daten um eine Mehrfachliste, wie unten gezeigt.

[['python', '1'], ['php', '1']]

Beim Schreiben mit writerow wird eine Liste als Argument übergeben. Beachten Sie, dass Sie bei mehreren Listen wie den oben genannten Zeilen schreiben müssen

Wenn Sie versuchen, eine Zeile zu schreiben, lautet der Rückgabewert wie folgt (als einzeilige Liste zurückgegeben).

"['python', '1']","['php', '1']"

Wenn Sie Zeilen schreiben, lautet der Rückgabewert wie folgt.

python,2
php,2

Verwenden Sie die DictReader-Methode, um das Wörterbuchformat zu übergeben

Zu diesem Zeitpunkt liegt der Rückgabewert der DictReader-Methode natürlich im Wörterbuchformat vor.

from collections import defaultdict
import csv

data = defaultdict(int)

with open('data.csv' , 'r', newline='' , encoding='utf-8') as f:

    r = csv.DictReader(f)
    data = [ i for i in r ]    #Wörterbuch in Liste speichern

with open('data.csv' , 'w', newline='' , encoding='utf-8') as f:
    fieldnames =['Name', 'Count']
    w = csv.DictWriter(f, fieldnames= fieldnames)
    w.writerows(data)

Wenn Sie wie im Fall der Liste in die Variablen schauen, sind die Datenvariablen wie folgt

[{'Name': 'python', 'Count': '1'}, {'Name': 'php', 'Count': '1'}]

Diesmal werden die Schlüssel und Werte als Wörterbuch eingegeben

Beim Schreiben wird die Liste als Argument an die Writerow-Methode übergeben Tatsächlich wird es zu einem Bild der Übergabe des Inhalts des Wörterbuchs in einer Liste

Wenn Sie versuchen, mit writerow wie im Fall von list zu schreiben, tritt der Attributfehler wie folgt auf Ich ärgere mich, dass das Listenobjekt kein Attribut namens key hat

AttributeError: 'list' object has no attribute 'keys'

Wenn Sie Writerows verwenden, können Sie wie im Fall der Liste wie folgt schreiben

python,1
php,1

Ich habe verstanden, dass die Writerows-Methode verwendet wird, wenn sowohl die Basisliste als auch das Wörterbuch mehrmals übergeben werden.

Recommended Posts

Python-Lernen (Ergänzung)
Python lernen
[Python] Lernnotiz 1
Python-Lernnotizen
Python-Lernausgabe
Python-Lernseite
Python-Lerntag 4
Python Deep Learning
Deep Learning × Python
Python-Lernnotizen
Python-Klasse (Python-Lernnotiz ⑦)
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Python-Modul (Python-Lernnotiz ④)
Erweitertes Lernen 1 Python-Installation
Python lernen mit ChemTHEATER 05-1
Python: Deep Learning-Praxis
Python ~ Grammatikgeschwindigkeit lernen ~
Python: Unüberwachtes Lernen: Grundlagen
Private Python-Lernprozedur
Python lernen mit ChemTHEATER 02
Python lernen mit ChemTHEATER 01
Python: Deep Learning Tuning
Python + Unity Enhanced Learning (Lernen)
Python: Überwachtes Lernen (Rückkehr)
Python: Überwachtes Lernen (Klassifizierung)
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
O'Reilly python3 Primer Lernnotiz
Lernablauf für Python-Anfänger
Python
Python: Überwachtes Lernen: Hyperparameter Teil 1
Python-Lernplan für KI-Lernen
Verbessertes Lernen ab Python
Maschinelles Lernen mit Python! Vorbereitung
Python Machine Learning Programming> Schlüsselwörter
Python: Überwachtes Lernen: Hyperparameter Teil 2
Checkios Empfehlung zum Erlernen von Python
Beginnend mit maschinellem Python-Lernen
Iterative Verarbeitung von Python durch Chemoinfomatik gelernt
Python: Unüberwachtes Lernen: Nicht hierarchisches Clustering
Python-Steuerungssyntax, Funktionen (Python-Lernnotiz ②)
Implementieren Sie das Stacking-Lernen in Python [Kaggle]
Python + Unity Verbesserte Erstellung von Lernumgebungen
Python: Anwendung des überwachten Lernens (Rückkehr)
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Eingabe / Ausgabe mit Python (Python-Lernnotiz ⑤)
Notation, auf die ich beim Lernen von Python gestoßen bin
In Python implementierte Widrow-Hoff-Lernregeln
Perceptron-Lernexperiment mit Python