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
csv [2021/04/04 04:58]
egor
csv [2021/04/04 11:48] (aktuell)
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.
  
-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):
  
- +<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>
 +
 +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.1617512293.txt.gz
  • Zuletzt geändert: 2021/04/04 04:58
  • von egor