Einlesen von Daten schlägt fehl

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Hallo,

meine Daten werden falsch eingelesen, wieso?

Bild

Der delimiter scheint nicht zu funktionieren obwohl er korrekt spezifziert ist, was läuft hier schief?

best, jp
Zuletzt geändert von jp21 am Sonntag 3. April 2022, 16:21, insgesamt 1-mal geändert.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Ein "file://localhost/" habe ich noch nie gesehen, aber wie ich gerade nachgelesen habe, ist das gültig und wird sogar von Pandas unterstützt. Trotzdem ist nur `path` deutlich besser.
Und die Datei, die dahinter steckt, ist nicht utf8-kodiert, sondern irgendwas anderes.
Zuletzt geändert von Sirius3 am Sonntag 3. April 2022, 16:30, insgesamt 2-mal geändert.
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Habe meinen Thread nochmal upgedatet, nachdem ich einen Teil der Daten in der Originaldatei abgeschnitten habe
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Ohne die Datei zu kennen, kann man dazu nichts sagen.
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Welche Infos benötigst du?
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die Datei. Denn das Problem liegt nunmal darin verborgen.
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Die Datei kann ich nicht rausgeben, das sind Firmendaten, aber kannstr du mich evtl instruieren?
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was meinst du mit instruieren? Und wieso ist es ok, die Datei oben als Screenshot zu veroeffentlichen, aber nicht als die zur Problemloesung relevanteren Daten?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Wichtig ist nur die Stuktur, also die ersten paar Zeilen. Inhalt ist unwichtig, außer alle Sonderzeichen, die das Einlesen beeinflussen könnten. Ist ; wirklich ; oder vielleicht ; oder ;? Gibt es Anführungszeichen?
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Code: Alles auswählen

Name:;Daten Ger. INSTR 17.02.2022 16:25:42
Verantwortlich:;name
Kommentare:;
Datum der Datenerfassung:;17.02.2022 16:25:43
Messgerät:;000000;Adresse:;ASRL1::INSTR;Module:;1;Steckplatz1:;000000
Kanäle gesamt:;22
Kanal;Name;Funktion;Bereich;Auflösung;ErwEinstellungen;Skalieren;Verstärkung;Offset;Bezeichnung;Test;Niedrig;Hoch;Hardware-Alarm
101;Druck;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
102;EE Temp;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
103;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
104;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
105;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
106;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
107;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
108;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
109;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
110;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
111;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
112;EE Feuchte;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
113;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
114;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
115;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
116;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
117;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
118;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
119;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
120;;Gleichspannung;Auto;5,5;DC Voltage#10M#1#0,016#Auto#0,001;False;1;0;VDC;Aus;0;1;Alarm 1
121;;Gleichstrom;Auto;5,5;DC Current#1#0,016#Auto#0,001;False;1;0;ADC;Aus;0;1;Alarm 1
122;;Gleichstrom;Auto;5,5;DC Current#1#0,016#Auto#0,001;False;1;0;ADC;Aus;0;1;Alarm 1
Scan-Steuerung:;Aktion starten:;Sofort;Aktion stoppen::;Von Benutzer beendet
Scan;Zeit;101 <Druck> (VDC);Alarm 101;102 <EE Temp> (VDC);Alarm 102;103 (VDC);Alarm 103;104 (VDC);Alarm 104;105 (VDC);Alarm 105;106 (VDC);Alarm 106;107 (VDC);Alarm 107;108 (VDC);Alarm 108;109 (VDC);Alarm 109;110 (VDC);Alarm 110;111 (VDC);Alarm 111;112 <EE Feuchte> (VDC);Alarm 112;113 (VDC);Alarm 113;114 (VDC);Alarm 114;115 (VDC);Alarm 115;116 (VDC);Alarm 116;117 (VDC);Alarm 117;118 (VDC);Alarm 118;119 (VDC);Alarm 119;120 (VDC);Alarm 120;121 (ADC);Alarm 121;122 (ADC);Alarm 122
1;17.02.2022 16:25:43:702;0,96986293;0;6,2116457;0;0,404899;0;0,39811371;0;0,40280176;0;0,41157007;0;0,41593647;0;0,40771381;0;0,39505601;0;0,40127568;0;0,39200497;0;4,1228904;0;0,40665909;0;0,40086754;0;0,39974517;0;0,4171642;0;0,40218733;0;0,4009607;0;0,40271968;0;0,39433623;0;0,0039556626;0;0,0039929456;0
2;17.02.2022 17:25:43:729;-3,096E-06;0;6,1958067;0;0,4048136;0;0,39999582;0;0,40357145;0;0,41274457;0;0,41598748;0;0,40883841;0;0,39509705;0;0,40013667;0;0,39169332;0;4,0183944;0;0,40706834;0;0,40339178;0;0,39785973;0;0,41642557;0;0,40379992;0;0,40067013;0;0,40166829;0;0,39501498;0;0,0039499684;0;0,0039797167;0
das ist die struktur, unten sind die erstzen zwei Zeilen Messdaten, diesem Muster folgen alle weiteren Zeilen in der Datei
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na das ist ja nunmal keine regulaere CSV-Datei. Pandas bestimmt die Anzahl der erwarteten Spalten aus der ersten Zeile (woher auch sonst?), und alle folgenden muessen nunmal so aussehen. Du hast da aber in Zeile 5 8 durch ; getrennte Werte. Entsprechend schlaegt das fehl.

Wenn es egal ist, was da am Anfang kommt, dann musst du die Datei einlesen, die ersten Zeilen ueberspringen, und nur den Rest pandas vorwerfen.

Nachtrag: wie ueblich hat pandas da etwas, wenn der header immer gleich ist, reicht skiprows=30 mit anzugeben im read_csv.
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Okay, das macht Sinn, und wie überspringe ich die ersten Zeilen?
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Siehe meinen Nachtrag.
jp21
User
Beiträge: 20
Registriert: Freitag 1. April 2022, 14:33

Habs gesehen, danke!
Antworten