.csv文件如下
col1, col2, col3
"a, b, c"
"d, e, f"
,我想从引号中解开行以正确读取pandas / Python中的文件。如R中的this重复问题所述,一个人可以读取两次.csv数据:1)解开辅助数据帧第一列中的数据,以及2)调用辅助数据帧第一列中的读取函数
在熊猫中最优雅的方式是什么?
答案 0 :(得分:0)
您可以通过将quoting
参数设置为3
来关闭引号。然后删除所有报价。
data = pd.read_csv('file.csv', quoting=3)
for col in data:
data[col] = data[col].str.strip('"')
答案 1 :(得分:0)
我想我会
在代码中:
import io
import pandas as pd
with open('./csv_quotes.csv') as file:
raw_csv = file.read()
new_csv = raw_csv\
.replace('\n\"', '\n')\ # replace "a,... => a,...
.replace('\"\n', '\n')\ # replace ..., c" => ..., c
.replace(', ', ',') # replace a, b, c => a,b,c
sio = io.StringIO(new_csv) #
df = pd.read_csv(sio, sep=',')
print(df.values)
输出:
[['a' 'b' 'c']
['d' 'e' 'f']]
注意:您可以使用正则表达式进行替换。看看this answer。