Pandas csv字段分离逻辑

rhfm7lfc  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(59)

我有一个只有一行和两列的迷你csv文件(没有标题):

"1,6 Engine DCT 18\"","1,6 Engine Luxury DCT"

字符串
我的意图是使用Pandas读取它,并获得一个具有两个列/值的单行表:
| 0 | 1 |
| --|--|
| 1.6发动机DCT 18”|1.6发动机豪华型DCT|
如果我不指定引号和转义符,
pandas.read_csv("mycsv.csv", header=None, sep=",")
它分割数据的方式让我很困惑。它将输出:
| 0 | 1 |
| --|--|
| 1,6发动机DCT 18 ",1| 6发动机豪华型DCT”|
有谁能解释一下为什么会这样分裂吗?我对第一个字段的结尾感到惊讶,我不明白为什么,1 包含在第一个字段中而不是第二个字段中。我知道我可以在 pandas.read_csv() 中指定 quotechar ='"'escapechar="\",然后分割将是预期的分割,但我想知道pandas到底做了什么来达到相当意想不到的(至少对我来说)分裂。我使用pandas 2.0.1,虽然我怀疑这不是版本的问题,而是我缺乏对它如何分裂文本字段和默认处理特殊字符的基本理解。
谢谢你,谢谢

vyswwuz2

vyswwuz21#

您需要将doublequote=False参数传递给read_csv,以避免将\""中的""解释为转义字符:

pd.read_csv('mycsv.csv', header=None, sep=',', doublequote=False)

字符串
输出量:

0                      1
0  1,6 Engine DCT 18\"  1,6 Engine Luxury DCT

相关问题