下载的sougou中文语料文件是xml格式的,有1.5G,需要在python下进行正文的提取及中文分词工作。
1. 首先,进行正文的提取,有几个需要注意的细节。
a. 检测文件的中文编码
在python下安装chardet包,使用chardet检查中文格式. 注意读文件时使用的是'rb'.
b. 读取原始数据
在获取了中文编码格式后,使用codecs包,注意参数errors="ignore"的使用,否则会出现以下类似错误:
UnicodeDecodeError: 'gb2312' codec can't decode byte 0xfd in position 440: illegal multibyte sequence
c. 在处理大的文件时,for循环里不要做类似以下的操作,否则速度非常慢。
text_str = '';
for item in a:
b = item.replace('<content>','');
text_str = text_str + (b.replace('</content>',''));
读大文件,linecache.getlines也可以用于加速文件操作。
d. 在写入文件时,特意增加了'\n',这样方便后续的“按行读文件”操作。
(增加换行符后的文本,在notepad++里的显示如下图&#