Importieren
Posted: 25 Jan 2025, 16:10
Ich habe eine .dat-Datei, die durch Indizes getrennte Spaltendaten enthält. Hier zeige ich beispielsweise nur zwei Indizes:
Ich möchte sie als Panda-Datenrahmen importieren und jeder Spalte einen Namen geben. Außerdem möchte ich die Indexinformationen behalten (wahrscheinlich in einer neuen Spalte). Ich habe Folgendes versucht, aber es funktioniert nicht
Es gibt mehrere Einträge. Jeder Index „t“ entspricht unterschiedlichen Zeitpunkten einer Simulationsausgabe. Und jedes Mal habe ich die 5 Spalten. Ich möchte die .dat-Datei in der folgenden Datenrahmenform speichern
als würde man alles zusammenführen.
Code: Select all
# t= 400000
1601 -0.207587E-02 0.454623E-03 0.193855E-02 0.996661E+00
1602 -0.202550E-02 0.447789E-03 0.191164E-02 0.996661E+00
1603 -0.197461E-02 0.440763E-03 0.188373E-02 0.996660E+00
1604 -0.192326E-02 0.433553E-03 0.185483E-02 0.996660E+00
1605 -0.187150E-02 0.426169E-03 0.182494E-02 0.996659E+00
# t= 410000
1601 -0.207587E-02 0.454623E-03 0.193855E-02 0.996661E+00
1602 -0.202550E-02 0.447789E-03 0.191164E-02 0.996661E+00
1603 -0.197461E-02 0.440763E-03 0.188373E-02 0.996660E+00
1604 -0.192326E-02 0.433553E-03 0.185483E-02 0.996660E+00
1605 -0.187150E-02 0.426169E-03 0.182494E-02 0.996659E+00
Code: Select all
import pandas as pd
from io import StringIO
df = pd.read_csv(StringIO(filename),
sep="\t",
skiprows=1,
usecols=[0,1,2,3,4],
names=['position','ux', 'uy', 'uz', 'rho'])
print(df)
Code: Select all
t pos ux uy uz rho
400000 1601 -0.207587E-02 0.454623E-03 0.193855E-02
0.996661E+00
400000 1602 -0.202550E-02 0.447789E-03 0.191164E-02
0.996661E+00 ....
410000 1603 -0.197461E-02 0.440763E-03 0.188373E-02
0.996660E+00
410000 1604 -0.192326E-02 0.433553E-03 0.185483E-02
0.996660E+00
410000 1605 -0.187150E-02 0.426169E-03 0.182494E-02
0.996659E+00