我有一个csv文件包含null。文件也有非ascii字符。我想要一个函数来处理这个文件的kindle
到目前为止,我试过几种方法,但都不管用
第一。我试图replace('\0', '')
它适用于ascii文件,但不适用于cp1254
第二次我尝试了unicodesv模块,但它给了我Error: line contains NULL byte
第三次尝试,创建itr = (line.replace('\0') for line in fileObj)
,然后将生成器传递给unicodesv,但由于unicodesv中的self.reader.next()
试图从生成器获取元素,但它存在编码问题。
对我来说,像死锁这样的问题我需要解决第一个问题,使我能够处理第二个问题,但要解决第一个问题,我必须得到第二个问题的工作。不知道如何处理这些问题。请帮忙。谢谢你
UnicodeEncodeError
with open(path, 'r') as f:
itr = (line.replace('\0', '') for line in f)
csv.DictReader(itr)
^{pr2}$Error: line contains NULL byte
UnicodeEncodeError
with io.open(path, 'r', encoding=''cp1254) as f:
itr = (line.replace('\0', '') for line in f)
csv.DictReader(itr)
使用一个嵌入的空字符和一个来自cp1254的字符(在utf-8中无效)测试Python 3解决方案:
输出
^{pr2}$相关问题 更多 >
编程相关推荐