2017-09-17 60 views

回答

0

用正则表达式分隔符调用read_csv

df = pd.read_csv(buf, delimiter='\s*,\s*(?=\()', engine='python') 
df 
    (DATA) (DATA2) (DATA3) 
0 (1) (2,3)  (4) 

现在,从列剥离括号:

df.columns = df.columns.str.replace('[()]', '') 
df = df.replace('[()]', '', regex=True) 
df 

    DATA DATA2 DATA3 
0 1 2,3  4 

DATADATA3现在可以转换到使用astype(float)数字列。对于DATA2,你可以调用str.split并将其转换成列的列表:

df['DATA2'].str.split(',') 
0 [2, 3] 
Name: DATA2, dtype: object 
+0

完美的作品!非常感谢你 –