我试图用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': ''}
我想知道增加它读取的行数是否会提高编码的信心。
任何帮助将不胜感激。