Daten mit Pandas übertragen/transponierenPython

Python-Programme
Anonymous
 Daten mit Pandas übertragen/transponieren

Post by Anonymous »

Ich habe eine Textdatei, die nach Registerkarte der folgenden Form getrennt ist: < /p>

Code: Select all

{
10/16/2025    10:40 AM    some_comment     23.806     10.5    ....(some more values here)
Xu   5.62    61.04   65.49
Xv   4.32    63.21   62.47
Xx   4.26    62.24   64.28
Xy   3.85    68.66   67.21
Xz   1.78    63.93   64.39

10/16/2025    10:41 AM    some_comment     23.806     10.5    ....(some more values here)
Xu   4.62    51.04   15.49
Xv   3.32    93.54   62.33
Xx   6.26    32.55   34.49
Xy   2.85    68.67   57.56
Xz   9.78    33.04   94.73

...
}
< /code>
Ein Datenblock hat 6 eindeutige Spalten und sie wiederholen danach. Keiner von ihnen hat den richtigen Namen. [url=viewtopic.php?t=14917]Ich möchte[/url] ihnen basierend auf ihrer Position einen bestimmten Namen geben.Datetime, Xu, Xo, ...(these are the 2nd to 6th column),"comments", "Val_A", "Val_B","another_name",...

Ich habe es mit dem folgenden Code ausprobiert:
def parse_custom_txt(filepath):
data = []
with open(filepath, 'r') as file:
lines = [line.strip() for line in file if line.strip()]

i = 0
while i < len(lines):
if "/" in lines:
parts = lines.split('\t')
dt = f"{parts[0]} {parts[1]}"
comment = parts[2]
main_vals = [v for v in parts[3:] if v.strip()]
i += 1
sensors = {}
for _ in range(5):
sensor_line = lines.split('\t')
sensors[sensor_line[0].strip()] = [float(v) for v in sensor_line[1:] if v.strip()]
i += 1
row = [dt] + [sensors.get(k, []) for k in ['Xu', 'Xv', 'Xx', 'Xy', 'Xz']] + [comment] + main_vals
data.append(row)
else:
i += 1
return pd.DataFrame(data)
< /code>
Dies führt jedoch dazu, dass der Spaltenname stattdessen die Werte abgerufen. Wie repariere ich das?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post