【发布时间】:2018-02-25 19:48:23
【问题描述】:
我需要帮助阅读带有熊猫的 csv,看起来像这样
(DATA), (DATA2) , (DATA3)
(1), (2,3), (4)
列之间用“,”分隔,并且在()之间也有“,”。
谢谢!
【问题讨论】:
标签: python pandas csv dataframe
我需要帮助阅读带有熊猫的 csv,看起来像这样
(DATA), (DATA2) , (DATA3)
(1), (2,3), (4)
列之间用“,”分隔,并且在()之间也有“,”。
谢谢!
【问题讨论】:
标签: python pandas csv dataframe
使用正则表达式分隔符调用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
DATA 和 DATA3 现在可以使用 astype(float) 转换为数字列。对于DATA2,您可以调用str.split 并将其转换为列列表:
df['DATA2'].str.split(',')
0 [2, 3]
Name: DATA2, dtype: object
【讨论】: