Здравствуйте, у меня есть большой файл, который содержит символы Юникода, и когда я пытаюсь открыть его в Python 3, у меня возникает ошибка.
Файл "addRNC.py", строка 47,в add_rnc ()
Файл "addRNC.py", строка 13, в init для значения в rawDoc.readline ():
File "/ usr / local /lib / python3.1 / codecs.py ", строка 300, в декодировании (результат, используется) = self._buffer_decode (data, self.errors, final)
UnicodeDecodeError: кодек utf8 не может декодироватьбайт 0xd3 в позиции 158: недопустимое продолжение байта
И я пробую все и не сработало, вот код:
rawDoc = io.open("/root/potential/rnc_lst.txt", 'r', encoding='utf8')
result = []
for value in rawDoc.readline():
if len(value.split('|')[9]) > 0 and len(value.split('|')[10]) > 0:
if value.split('|')[9] == 'ACTIVO' and value.split('|')[10] == 'NORMAL':
address = ''
for piece in value.split('|')[4:7]:
address += piece
if value.split('|')[8] != '':
rawdate = value.split('|')[8].split('/')
_date = rawdate[2]+"-"+rawdate[1]+"-"+rawdate[0]
else:
_date = 'NULL'
id = db.prepare("SELECT id FROM potentials_reg WHERE(rnc = '%s')"%(value.split('|')[0]))()
if len(id) == 0:
if _date == 'NULL':
db.prepare("INSERT INTO potentials_reg (rnc, _name, _owner, work_type, address, telephone, constitution, active)"+
"VALUES('%s', '%s', '%s', '%s', '%s', '%s', NULL, '%s')"%(value.split('|')[0], value.split('|')[1],
value.split('|')[2],value.split('|')[3],address,
value.split('|')[7], 'true'))()
else:
db.prepare("INSERT INTO potentials_reg (rnc, _name, _owner, work_type, address, telephone, constitution, active)"+
"VALUES('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')"%(value.split('|')[0], value.split('|')[1],
value.split('|')[2],value.split('|')[3],address,
value.split('|')[7],_date, 'true'))()
else:
pass
db.close()