如何将这个带有引号的csv导入pandas?

fzsnzjdm  于 10个月前  发布在  其他
关注(0)|答案(2)|浏览(127)

我有一个CSV,结构如下:

project, location, badness
foo, N/A, 0
bar, 'path/to/file:[7,23]', 120

字符串
我想把它导入到一个Pandas框架中。当我现在使用pd.read_csv(filename, quotechar="'", sep=".\s+")时,我会得到这样的列:

project   location           badness
foo       N/A                0
bar       'path/to/file:[7   23]'       120


最后一个悬挂列未命名。
我怎样才能以一种尊重引号的方式导入它呢?也就是说,我怎样才能让“location”列在第二行上有'path/to/file:[7,23]'呢?

7vux5j2d

7vux5j2d1#

使用quotechar="'"指定字段可以用单引号引起来,使用skipinitialspace指定忽略逗号后面的空格。

pd.read_csv(filename, quotechar="'", skipinitialspace=True)

字符串
不需要指定分隔符。

rsaldnfx

rsaldnfx2#

尝试将分隔符更改为",\s+"

from io import StringIO

import pandas as pd

text = """\
project, location, badness
foo, N/A, 0
bar, 'path/to/file:[7,23]', 120"""

df = pd.read_csv(StringIO(text), quotechar="'", sep=r",\s+", engine="python")
print(df)

字符串
打印:

project               location  badness
0     foo                    NaN        0
1     bar  'path/to/file:[7,23]'      120

相关问题