【发布时间】:2017-09-04 12:27:22
【问题描述】:
我正在尝试使用Chardet 以制表符分隔格式推断一个非常大的文件(>400 万行)的编码。
目前,我的脚本可能由于文件的大小而出现问题。我想将其缩小到加载文件的前 x 行,可能,但是当我尝试使用 readline() 时遇到了困难。
目前的脚本是:
import chardet
import os
filepath = os.path.join(r"O:\Song Pop\01 Originals\2017\FreshPlanet_SongPop_0517.txt")
rawdata = open(filepath, 'rb').readline()
print(rawdata)
result = chardet.detect(rawdata)
print(result)
它可以工作,但它只读取文件的第一行。我尝试使用简单的循环多次调用readline() 效果不佳(可能是脚本以二进制格式打开文件的事实)。
一行的输出是{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}
我想知道增加它读取的行数是否会提高编码置信度。
任何帮助将不胜感激。
【问题讨论】:
标签: python python-3.x chardet