Seite 1 von 1

csv-Datei in Python - einzelne Daten rausholen

Verfasst: Dienstag 22. Dezember 2020, 13:55
von flyingIT
Hallo zusammen,
vielleicht könnt ihr mir bei meinen Problem helfen, ich weiß gar nicht wo ich anfangen soll...
Und zwar möchte ich die CSV-Datei (wie unten eingefügt) in Python öffnen (kein Problem soweit) und mir dann Zeile für Zeile ausgeben lassen (auch kein Problem) allerdings halt nicht jede Information, ich schaffe es nicht aus einem Datenfeld noch die Daten zu trennen. Ich brauche die Information Time, den zweiten Block aus Important Information (also bei No. 1 z.B. "0x123456") und den dritten Block aus Important Information (Hex-Reihe) (also bei No. 1 z.B. FF FF FF FF FF FF FF FF). Wie schaffe ich es nun mir diese einzelnen Daten zu holen und in einer Variable zu speichern (ich muss vor dem zweiten Block aus Important Information z.B nachher noch immer die 0x davor weg machen und die Time von Nummer 2 subtrahieren mit der Zeit von Nummer 1 usw..) und ich mache jetzt das erste mal etwas mit csv und ich habe im Internet recherchiert (vielleicht auch nicht gut genug, das will ich nicht abstreiten) und ich hab das Gefühl mein Problem ist doch etwas spezifischer.

Ich hoffe ich habe es verständlich erklärt, vielleicht kennt ja einer das Problem :)

Vielen Dank im Voraus!


No. Time Extras Source Designation Duaration Important Information
1 0.00000 IT 2 001: 0x123456 FF FF FF FF FF FF FF FF
2 0.00001 TI 5 002: 0x789012 00 00 00 00 00 00 00 00
3 0.00002 BSN 2 003: 0x345678 11 11 11 11 11 11 11 11
4 0.00003 IT 2 004: 0x901234 AA AA AA AA AA AA AA AA
5 0.00004 DB 1 005: 0x567890 02 00 99 FF 19 FF FF 09
6 0.00005 MCT 2 006: 0x123456 AC 12 DF 45 EF FF 00 01
7 0.00006 TI 5 007: 0x789012 01 01 01 01 01 01 01 01
8 0.00007 BSN 2 008: 0x345678 BB BB BB BB BB BB BB BB

Re: csv-Datei in Python - einzelne Daten rausholen

Verfasst: Dienstag 22. Dezember 2020, 15:21
von nezzcarth
Das gezeigte Format ist kein CSV. Weder im engeren Sinne (Komma als Trenner), noch im weiteren (irgendein konsistenter Trenner). Hier werden Leerzeichen als Trenner verwendet, aber nicht konsistent, da offensichtlich auch Leerzeichen in Spaltennamen oder als Zelleninhalt vorkommen können. Hast du die Möglichkeit, die Daten in einem eindeutigen Format zu speichern? Wenn das der Fall ist, kannst du sie komfortabel mit dem CSV Modul aus der Standardbibliothek verarbeiten. Ansonsten muss man das manuell machen. Geht auch, ist aber nicht so schön und im Zweifelsfall fehleranfälliger.

Re: csv-Datei in Python - einzelne Daten rausholen

Verfasst: Dienstag 22. Dezember 2020, 15:31
von __blackjack__
@flyingIT: Das ist keine CSV-Datei oder sie ist kaputt. In zwei von den 8 Datensätzen ist "Duration" eine Zahl, in den restlichen 6 ist das Feld leer und die Zahl steht stattdessen mit im "Important Information"-Feld. So kann man das also nicht verarbeiten.

@nezzcarth: Es werden Tab-Zeichen als Trenner verwendet die auch fast immer richtig gesetzt sind, aber leider nicht immer.

Edit: Also eigentlich eher fast immer nicht richtig gesetzt sind. Die Anzahl stimmt — die Kopfzeile macht Sinn und alle Datensätze haben 7 Felder, aber die Werte sind nach dem Trennen nicht immer im richtigen Feld.