So extrahieren Sie nur die Zeichenfolgen, die für reguläre Ausdrücke erforderlich sind, aus Dateien, die nicht mit Trennzeichen "," gelesen werden können, wie unten in Pandas gezeigt, und machen sie zu DataFrame
Wenn Sie die folgenden Beispieldaten so lesen, wie sie sind, tritt ein Fehler auf, da die Anzahl der Spalten unterschiedlich ist.
test.csv
value1=12333,value2(fuga,hoge),value3=fuga
value1=111,value2(hoge),value3=fugahoge
Lesen Sie beim Lesen zuerst als Datenzeile.
In[2]: import pandas as pd
In[3]: df = pd.read_csv('test.csv',header=None,sep='\t')
In[4]: df
Out[4]:
0
0 value1=12333,value2(fuga,hoge),value3=fuga
1 value1=111,value2(hoge),value3=fugahoge
Verwenden Sie Series.str.extract (), um mit einem regulären Ausdruck zu teilen.
In[5]: df[0].str.extract('value1=(?P<val1>\d+),value2\((?P<val2>[\w,]+)\),value3=(?P<val3>.*)')
Out[5]:
val1 val2 val3
0 12333 fuga,hoge fuga
1 111 hoge fugahoge
Der Spaltenname kann im Teil von "? P \
Da der extrahierte Wert als Objekt zurückgegeben wird, ist es außerdem erforderlich, ihn gegebenenfalls in einen int-Typ oder dergleichen zu ändern.
http://sinhrks.hatenablog.com/entry/2014/12/06/233032
Recommended Posts