Jump to content

csv Datei automatisiert auslesen, separator innerhalb spalte


Serpens66

Recommended Posts

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?

Edited by Serpens66
Link to comment
Share on other sites

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()

 

Edited by PeWi
  • Like 1
Link to comment
Share on other sites

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

Edited by Aktienspekulaant
tipper
Link to comment
Share on other sites

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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.