提问人:sveer 提问时间:10/11/2023 最后编辑:sveer 更新时间:10/11/2023 访问量:52
Pandas.read_csv ParserError '§' 应在 '“' 之后,sep = ”§”
Pandas.read_csv ParserError '§' expected after '"' with sep = "§"
问:
我有一个问题,需要很多时间才能解决。read_csv
我正在处理具有多个特殊字符的文本,因此我正在检查哪个字符不在文本列表中,并在编写使用相应 ID 分隔文本的文件时选择 § 作为分隔符。csv
但是,在读取文件时,我收到以下错误。我可以跳过不好的行,但在这种情况下,我不能丢失任何文本。
ParserError: '§' expected after '"'
写作
df.to_csv('20231010.csv',
index=False,
sep='§',
#header=None,
quoting=csv.QUOTE_NONE,
quotechar="",
escapechar=" ")
读数
data = pd.read_csv('20231010.csv', sep ="§", encoding='utf-8')
答:
1赞
mozway
10/11/2023
#1
禁用引用是没有意义的,实际上您甚至不需要使用花哨的字符,只需使用默认设置即可:
df = pd.DataFrame({'text1': ['abc"123§', 'def ,456'],
'text2': ['ghi`789', 'jkl|123'],
})
df.to_csv('20231010.csv', index=False)
CSV格式:
text1,text2
"abc""123§",ghi`789
"def ,456",jkl|123
再次导入:
df2 = pd.read_csv('20231010.csv')
print(df2)
输出:
text1 text2
0 abc"123§ ghi`789
1 def ,456 jkl|123
Pandas 可以相对很好地导入/导出 CSV 文件,而无需更改。可能导致更改的最常见情况是:
- 索引的默认包含,该索引将转换为列
to_csv
read_csv
- 将特定字符串转换为 NaN(例如 /),如果这些字符串在您的上下文中具有不同的含义,这可能会很烦人
NULL
NA
您可以通过在 to_csv
中使用(就像您所做的那样)和在 read_csv
中使用来避免这些问题。index=False
keep_default_na=False
评论
,
csv
to_pickle
read_pickle