在python中读取外来字符

在python中读取外来字符,python,csv,unicode,encoding,pandas,Python,Csv,Unicode,Encoding,Pandas,我正在尝试读取一个包含外国字符的csv文件(目前是法语,但将来也是俄语)。有没有办法在不删除/替换外来字符的情况下读取这些CSV 每当我尝试: pd.read\u csv('filename.csv',encoding='utf-8'),它找不到任何列 所以我试了一下: with codecs.open('filename.csv', 'r') as f: for line in f.readlines(): print line 它只输

我正在尝试读取一个包含外国字符的csv文件(目前是法语,但将来也是俄语)。有没有办法在不删除/替换外来字符的情况下读取这些CSV

每当我尝试:
pd.read\u csv('filename.csv',encoding='utf-8')
,它找不到任何列

所以我试了一下:

with codecs.open('filename.csv', 'r') as f:
            for line in f.readlines():
                print line
它只输出一些行的
[解码错误-输出不是utf-8]
(带的行等)

我还尝试了下面的建议来获取文件的编码,当我使用正确的编码读取文件时,我得到了
UnicodeEncodeError:“ascii”编解码器无法对位置0处的字符u'\ufeff'进行编码:序号不在范围(128)
或类似的内容

有什么想法吗?
提前感谢

可能您的数据不是UTF-8。我会首先使用file命令检查csv文件的编码
file filename.csv
将输出如下内容:filename.csv:ASCII文本,带有CRLF行终止符。检查是否有此文件命令?它是python语句还是命令提示符?如何查看BOM表?在十六进制编辑器中打开文件或以字节模式读取文件,检查文件开头的值是否与我注释的BOM表链接匹配。