2017-07-22 5 views
0

Ich habe eine UTF-8-Zeichenfolge, die ich in einen Datenrahmen transformieren möchte. Mein Code dazu verwendet die read_fwf von Pandas. Ich habe auch das Trennzeichen '/ t' übergeben.Python transformieren Zeichenfolge in Datenrahmen mit Registerkarte als Trennzeichen

df = pd.read_fwf(io.StringIO(messFile), delimiter='\t', skiprows=[0,1], widths=None) 

Mein erster String wird durch Tabulatoren getrennt und diejenigen, die nicht in der endgültigen df realisiert:

1  0,4\t123,7\t3\t0,34342\t1,3\t25,1\t1,4\t254,1\... 
2  0,5\t123,7\t3\t0,12123\t11,0\t25,1\t1,1\t254,1\... 
3  0,6\t123,7\t3\t0,11123\t11,0\t25,1\t1,1\t254,1\... 

Ich habe keine Ahnung, warum die Laschen nicht in getrennten Spalten geschrieben.

+1

Was ist' df = pd.read_csv (messFile, sep = '\ t', skiprows = [0,1]) '? – jezrael

+0

Dies führt zu '-NotebookApp.iopub_data_rate_limit'. Da ich es nicht lokal betreibe, scheint es mir unmöglich zu sein, die Konfiguration zu ändern – Bene

Antwort

1

Ihre Eingabe ist tabulatorgetrennt. read_fwf() ist für Daten mit "fester Breite", dh es gibt keine Trennzeichen. Sie möchten stattdessen read_table() verwenden.

Für die Tatsache, dass read_fwf() ‚s Dokumentation der Eingabe verwirrend ist, dass Sie delimiter verwenden können, wenn Sie sollte eigentlich nicht, ich einen Fehlerbericht vorgelegt haben: https://github.com/pandas-dev/pandas/issues/17056

+0

Tank Sie! Die Dokumentation ist verwirrend. – Bene

Verwandte Themen