Ich habe Probleme mit Pandas.read_csvPandas.read_csv Fehler Tokenisieren Daten
Ich möchte diese Textdatei (siehe unten) lesen Wenn ich diese Daten übernehmen und kopieren Sie sie in Excel> Text in Spalten> abgegrenzt durch "Space" gibt es mir genau die Ausgabe, nach der ich suche.
Ich habe eine Reihe von verschiedenen Möglichkeiten ausprobiert, ich dachte, dass die RegEx für mehrere Räume tun würde, würde den Trick tun, aber ich habe es versäumt, es zum Laufen zu bringen.
Ich versuche, diesen Code:
petrelTxt = pd.read_csv(petrelfile, sep = ' ', header = None)
und es gibt mir den Fehler
CParserError: Error tokenizing data. C error: Expected 6 fields in line 2, saw 17
Als ich die "sep = '\ s +'" Versuchen Sie, es es weiter unten in der Datei macht, funktioniert aber immer noch nicht.
petrelTxt = pd.read_csv(petrelfile, sep = '\s+', header = None)
CParserError: Error tokenizing data. C error: Expected 5 fields in line 3, saw 6
Dies ist die ursprüngliche txt-Datei:
# WELL TRACE FROM PETREL
# WELL NAME: ZZ-0113
# WELL HEAD X-COORDINATE: 9999999.00000000 (m)
# WELL HEAD Y-COORDINATE: 9999999.00000000 (m)
# WELL KB: 159.00000000 (ft)
# WELL TYPE: OIL
# MD AND TVD ARE REFERENCED (=0) AT KB AND INCREASE DOWNWARDS
# ANGLES ARE GIVEN IN DEGREES
# XYZ TRACE IS GIVEN IN COORDINATE SYSTEM WGS_1924_UTM_Zone_42N
# AZIMUTH REFERENCE TRUE NORTH
# DX DY ARE GIVEN IN GRID NORTH IN m-UNITS
# DEPTH (Z, TVD) GIVEN IN ft-UNITS
#======================================================================================================================================
MD X Y Z TVD DX DY AZIM INCL DLS
#======================================================================================================================================
0.0000000000 999999.00000 9999999.0000 159.00000000 0.0000000000 0.0000005192 -0.000000000 1.3487006929 0.0000000000 0.0000000000
132.00000000 999999.08032 9999999.9116 27.000774702 131.99922530 0.0803153923 -0.088388779 139.08870069 0.3400000000 0.2575757504
221.00000000 999999.19115 9999999.8017 -61.99775149 220.99775149 0.1911487882 -0.198290891 132.93870069 0.3200000000 0.0456726104
es ist nicht korrekt CSV-Datei, weil Sie Kommentare haben. Wie ich mich erinnere, hat 'read_csv' die Möglichkeit, einige Zeilen zu überspringen. – furas
lesen Sie doc: [read_csv] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html) es hat die Option, einige Zeilen zu überspringen und einen Kommentar zu erkennen - Sie müssen 'comment verwenden = "#" ' – furas