python转换编码:LookupError: unknown encoding: ansi

标签 python character-encoding codepages

因为我的cdv文件编码为utf-8,用Excel打开会出现乱码,再转成标准的ANSI编码时,我得到这个错误:

代码:

import chardet

def convertEncoding(from_encode,to_encode,old_filepath,target_file):
    f1=file(old_filepath)
    content2=[]
    while True:
        line=f1.readline()
        content2.append(line.decode(from_encode).encode(to_encode))
        if len(line) ==0:
            break

    f1.close()
    f2=file(target_file,'w')
    f2.writelines(content2)
    f2.close()



convertFile = open('4321.csv','r')
data = convertFile.read()
print chardet.detect(data)
if chardet.detect(data)['encoding']=='utf-8':
    convertFile.close()
    convertEncoding(chardet.detect(data)['encoding'], "ansi", "4321.csv", "4321_bak.csv")

错误:

{'confidence': 0.99, 'encoding': 'utf-8'}
Traceback (most recent call last):
  File "/Users/allenlee/Desktop/convert/convert.py", line 24, in <module>
    convertEncoding(chardet.detect(data)['encoding'], "ansi", "4321.csv", "4321_bak.csv")
  File "/Users/allenlee/Desktop/convert/convert.py", line 8, in convertEncoding
    content2.append(line.decode(from_encode).encode(to_encode))
LookupError: unknown encoding: ansi
[Finished in 0.1s with exit code 1]

感谢您的关心。

最佳答案

Python 中没有ansi 编码Standard Encodings .

从以下链接中选择适当的编码:Standard Encodings

关于python转换编码:LookupError: unknown encoding: ansi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22279413/

相关文章:

python - 基于重复值合并字典

python - 如何获取列表中所有元素的日志

mysql - MySQL INFORMATION_SCHEMA CHARACTER_SETS 表中 maxlen 的含义

c - 如何禁用字符代码 178 (0xB2) (²) 、179 (0xB3) (³) 和 185 (0xB9) (¹) 作为数字?

windows - 如果我的 OEMCP 设置为 437 那么为什么我的 cmd.exe 默认代码页是 932?我该如何解决这个问题?

python - 如何在Web应用程序中读取数字证书? (灯)

io - Perl6 (Rakudo) - 如何处理文件中的特殊字符?

php - 如何恢复存储在普通 utf8 中的 4 字节表情符号字符的正确编码 - 就像这样 : 😊?

c# - 如何将项目符号字符打印到控制台?

Python:如何拆分值并按类别查找平均值