我使用的是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 crow0 17727425 - 1 TM000002 64 international NAME international ltd1 17727425 - 1 TM000002 66 ^ference country ^ference2 17727425 - 1 TM000002 80 |gulf DRWENAME |gulf
我想知道最后一行为什么
sep = '|'
不能正常工作,以及应该做些什么来消除这个问题。 最佳答案
问题不是sep='|'
,而是双引号。
默认情况下,Pandas不在字符串中拆分字段。因此,您可以更改引号字符串,例如添加quotechar="'"
(或\0
或文件中未使用的任何字符)。
另外,您可以使用add this parameter:quoting=QUOTE_NONE
,它忽略任何引用字符。
关于python - sep ='|'在 Pandas 数据框中无法正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50986472/