我有一个只有一行和两列的迷你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,虽然我怀疑这不是版本的问题,而是我缺乏对它如何分裂文本字段和默认处理特殊字符的基本理解。
谢谢你,谢谢
1条答案
按热度按时间vyswwuz21#
您需要将
doublequote=False
参数传递给read_csv
,以避免将\""
中的""
解释为转义字符:字符串
输出量:
型