csv

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
csv [2021/04/04 05:02]
egor
csv [2021/04/04 11:48]
egor
Zeile 1: Zeile 1:
-Es gibt viele unterschiedliche Methoden Dateien in [[https://de.wikipedia.org/wiki/CSV_(Dateiformat)|CSV-Format]] in Python zu lesen und zu schreiben.+Es gibt viele unterschiedliche Methoden Dateien in [[https://de.wikipedia.org/wiki/CSV_(Dateiformat)|CSV-Format]] in Python zu lesen und zu schreiben. Der bereits in Python eingebauter Modul //csv// lässt auf eine übersichtliche Art und weise Daten in der Tabellenform zu speichern. 
 + 
 +Im folgenden Bespiel werden die Ergebnisse einer Pitch-Class-Analyse im CSV-Format gespeichert (die Datei test.csv wird in working directory Ordner gespiechert):
  
-Der bereits in Python eingebauter Modul //csv// lässt auf eine übersichtliche Art und weise Daten in der Tabellenform zu speichern: 
 <code>import csv <code>import csv
 +
 +with open('test.csv', 'w', newline='') as file:
 +    writer = csv.writer(file)
 +    writer.writerow(['c', 'c#', 'd', 'd#', 'e', 'f', 'f#', 'g', 'g#', 'a', 'b', 'h'])
 +    writer.writerow([40, 0, 58, 44, 1, 111, 3, 15, 0, 37, 61, 0])
 </code> </code>
-  
  
 +Um eine CSV-Datei zu lesen, öffnet man diese lediglich in //'r'// Modus:
 +
 +<code>import csv
 +
 +with open('test.csv', 'r') as file: 
 +    reader = csv.reader(file)
 +    for row in reader:
 +        print(row)
 +</code>
 +
 +{{:wiki:csvread.png?400|}}
 +
 +Noch einfacher kann man die Inhalte der CSV-Dateien mit [[https://pandas.pydata.org/|pandas]] anzeigen (hier werden Sogar die Reihen untereinander ausgerichtet):
 +
 +<code>import pandas as pd
 +
 +pd.read_csv("test.csv")
 +</code>
 +
 +{{:wiki:pandascsv.png?300|}}
 +
 +Will man der CSV-Datei lediglich eine neue Reihe hinzufügen, so verwendet man den //'a'// Modus:
 +
 +<code>
 +import csv
 +
 +with open('test.csv', 'a', newline='') as file: 
 +    writer = csv.writer(file)
 +    writer.writerow([7, 0, 38, 55, 4, 32, 0, 79, 101, 3, 34, 5])
 +</code>
 +
 +Schaut man die Datei erneut an, so wurde die Reihe unten hinzugefügt:
 +
 +{{:wiki:pandascsv2.png?310|}}
  • csv.txt
  • Zuletzt geändert: 2021/04/04 11:48
  • von egor