首页 > 解决方案 > 九月 = '|' 在熊猫数据框中无法正常运行

问题描述

我正在使用 python 3.6 和 pandas 版本 0.20.3 。

我有一个带有文本的文件 -

17727425 - 1|TM000002|38|cow|country|crow
17727425 - 1|TM000002|64|international|NAME|international ltd
17727425 - 1|TM000002|66|^ference|country|^ference
17727425 - 1|TM000002|80|"|gulf "|DRWENAME|"|gulf "

我制作数据框的代码是-

df = pd.read_csv(filepath, sep="|", error_bad_lines=False, encoding="ISO-8859-1")

由于我使用的是sep = '|',它应该用'|'分隔文本 但在文本的最后一行,它使用" 我得到的输出进行分离 -

17727425 - 1 TM000002 38 cow country crow 0 17727425 - 1 TM000002 64 international NAME international ltd 1 17727425 - 1 TM000002 66 ^ference country ^ference 2 17727425 - 1 TM000002 80 |gulf DRWENAME |gulf

我想知道最后一行为什么sep = '|'不能正常工作以及应该做些什么来消除这个问题。

标签: pythonpython-3.xpandasdataframe

解决方案


问题不是sep='|',而是双引号。

Pandas 默认情况下不会在字符串中拆分字段。因此,您可以更改引号字符串,例如添加quotechar="'"(或\0文件中未使用的任何字符)。

作为替代方案,您可以使用添加此参数:quoting=QUOTE_NONE,它忽略任何引用字符。


推荐阅读