我正在研究一个使用.txt-files数据并使用所述数据的程序。数据主要包含拉丁字符,但有时也有日本角色。这就是我想做的:
# -- coding: UTF-8 --
import numpy as np
test=open("test.txt", "r")
test2=open("list.txt", "w")
test2.write("# ")
for line in test:
line2=line.replace('""', "(None)")
line3=line2.replace('"', "")
line4=line3.replace(" ", "_")
line5=line4.replace(",", " ")
test2.write(line5)
它可以正常工作,但有些日本字符引起问题。有趣的是,诸如ゲ,ノ,セ,ト或ク之类的字符没什么大不了的,但是这些字符是:いい。
一旦其中一个藏在test.txt中的某个地方,就会发生follwoing错误消息:
UnicodeDecodeError Traceback (most recent call last) C:UserssyhonDocumentsDV-ListeListeV2.0ListeV2.py in <module>()
196
197 test2.write("# ")
--> 198 for line in test:
199 line2=line.replace('""', "(None)")
200 line3=line2.replace('"', "")
C:UserssyhonAnaconda3libencodingscp1252.py in decode(self, input, final)
21 class IncrementalDecoder(codecs.IncrementalDecoder):
22 def decode(self, input, final=False):
---> 23 return codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
25 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 6281: character maps to <undefined>
但是,我能够发现我可以在python 2中打印出没有问题的上述字符,但在python3中没有打印出来。那么,是否可以在Python 3中解码这些字符?
test.txt
如何编码?我怀疑它是使用UTF-8编码的。如果是这样,请在Python3中尝试一下:
test=open("test.txt", "r", encoding="utf-8")