sep ='|'在熊猫数据框中无法正常运行

时间:2018-06-22 11:00:27

标签: python python-3.x pandas dataframe

我正在使用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 = '|'不能正常工作,以及应该采取什么措施来消除此问题。

1 个答案:

答案 0 :(得分:4)

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

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

您也可以使用以下参数:quoting=QUOTE_NONE,该参数不考虑任何引号。