Zum Inhalt springen

csv Datei automatisiert auslesen, separator innerhalb spalte


Serpens66

Empfohlene Beiträge

Hi,

ich werkel grad ein wenig mit den csv Transaktionsdateien diverser Bitcoinbörsen rum und will diese automatisiert mit Python auswerten.

Problem ist gerade die inkonsequente Trennung von Bitstamp, da steht zb:
Type,Datetime,Account,Amount,Value,Rate,Fee,Sub Type
Deposit,"Jan. 02, 2017, 09:06 PM",Main Account,1.00000000 BTC,,,,


Neben dem lösbaren Problem, dass als Menge sowohl eine Zahl als auch die Währung in einer Spalte steht (einfach beim Leerzeichen trennen), wird allgemein ein Komma als Separator verwendet, aber im Datum werden ebenfalls Kommata verwendet. Immerhin steht es zusätzlich noch in Anführungszeichen, sodass dies lösbar sein sollte.
Aber so auf die Schnelle fällt mir grad kein logischer Weg ein, wie ich diese Spalten nun so voneinander trenne, dass alle Einträge korrekt sind, habt ihr eine Idee?

Bearbeitet von Serpens66
Link zu diesem Kommentar
Auf anderen Seiten teilen

47 minutes ago, Serpens66 said:

Problem ist gerade die inkonsequente Trennung von Bitstamp, da steht zb:
Type,Datetime,Account,Amount,Value,Rate,Fee,Sub Type
Deposit,"Jan. 02, 2017, 09:06 PM",Main Account,1.00000000 BTC,,,,

Ins Blaue hinein geraten: Sollte das nicht der CSVReader von Python von alleine können? Immerhin ist in deinem Beispiel das Datum korrekt in Anführungszeichen, sprich, das Komma innerhalb des Datums ist korrekt "gekapselt".

        import csv

        csvFile = open(filename)
        csvReader = csv.reader(csvFile)
        csvlines = list(csvReader)
        csvFile.close()

 

Bearbeitet von PeWi
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich benutze bei unsauber formatierten und umfangreichen csv Dateien immer den Umweg über einen Index: Sprich ich gebe in einer weiteren Spalte einen Index von 1 bis n ein und kopiere dann die einzelnen Spalten mit dem Index in eigene xlsx-Tabs. Dann formatiere ich es so wie ich benötige und über den Index bekomme ich alles wieder zusammen in den richtigen Reihenfolge. Ist vielleicht ein wenig "old School", funktioniert aber 100%.

 

Rainer

Bearbeitet von Aktienspekulaant
tipper
Link zu diesem Kommentar
Auf anderen Seiten teilen

danke für die Tipps :)
Bin echt nicht auf die Idee gekommen, dafür nach einer fertigen python library zu suchen, ich hab das bisher immer selbst geschrieben (also mit read datei öffnen, alle zeilen erfassen, die zeilen mit split trennen usw).
Werde csv.reader mal ausprobieren, danke :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.