sep='|'在datafram中运行不正常

2024-06-16 12:41:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python3.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 = '|'不能正常工作,以及应该做些什么来消除这个问题。你知道吗


Tags: 文件name文本版本pandascountrysepinternational
1条回答
网友
1楼 · 发布于 2024-06-16 12:41:19

问题不是sep='|',而是双引号。你知道吗

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

作为替代方法,您可以使用add这个参数:quoting=QUOTE_NONE,它忽略任何引用字符。你知道吗

相关问题 更多 >