自动以正确的编码打开文件[重复]

2023-11-27

我正在处理一些有关编码的文件中的一些问题。我们收到其他公司的文件并必须阅读它们(文件为 csv 格式)

奇怪的是,这些文件似乎是用 UTF-16 编码的。我设法做到这一点,但我必须使用codecs模块并指定编码,这样。

ENCODING = 'utf-16'
with codecs.open(test_file, encoding=ENCODING) as csv_file:
    # Autodetect dialect
    dialect = csv.Sniffer().sniff(descriptor.read(1024))
    descriptor.seek(0)
    input_file = csv.reader(descriptor, dialect=dialect)

    for line in input_file:
       do_funny_things()

但是,就像我能够以一种更不可知的方式获取方言一样,我认为有一种方法可以自动打开具有正确编码的文件(至少是所有文本文件),这将是很棒的。还有其他程序可以实现这一点,例如 vim。

有人知道在 python 2.6 中这样做的方法吗?

PD:我希望这个问题能够在 Python 3 中得到解决,因为所有字符串都是 Unicode 的......


chardet可以帮你。

字符编码自动检测 Python 2 和 3. 和您一样聪明 浏览器。开源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动以正确的编码打开文件[重复] 的相关文章

随机推荐