Pandas导出CSV用拉丁字符Ç作分隔符时遇解码错误,求解决方案
解决Pandas导出CSV时使用特殊分隔符Ç的Unicode错误
直接在代码里写sep='Ç'报错,是因为Python解释器默认用UTF-8解码你的源文件,但Ç在Latin-1编码里对应的字节是0xc7,UTF-8无法解码这个字节,所以抛出SyntaxError。给你两个简单的解决办法:
用字节转义代替直接写字符:把分隔符写成十六进制转义序列
'\xc7',这样不依赖源文件编码,代码改成:results.to_csv('filename.csv', encoding='latin1', sep='\xc7')或者用Unicode名称转义
'\N{LATIN CAPITAL LETTER C WITH CEDILLA}',效果一致,可读性稍好。给Python源文件指定编码:在你的
.py文件最顶部加上一行编码声明,告诉解释器用Latin-1解码文件内容:# -*- coding: latin1 -*-之后你就可以正常写
sep='Ç'了。
验证一下:导出后用文本编辑器打开CSV,确认分隔符是Ç;也可以用Pandas读回来测试是否正常:
import pandas as pd df = pd.read_csv('filename.csv', encoding='latin1', sep='\xc7')
内容的提问来源于stack exchange,提问作者Soup Gyro
相关产品推荐
相关产品推荐

