我创建了一个程序,该程序从.txt文件中获取数据,并使用一系列正则表达式将其转换为可用于Pandas Dataframe的有用信息。在测试该程序时,我只是将.txt文件中的数据复制并粘贴到Python中的变量中,而不是上传整个.txt文件。但是,既然我已经完成了所有测试,就无法确定如何以有用的方式上传.txt文件。
我在Google Colab和Jupyter Notebook中都尝试过。这是JN的代码:
file1 = open("sample_file.txt","r")
file1.readlines()
不幸的是,我得到的输出看起来像乱七八糟的(尽管可能是十六进制的)。
'ÿþG\x00a\x00m\x00e\x00 \x00s\x00t\x00a\x00r\x00t\x00e\x00d\x00 \x00a\x00t\x00:\x00 \x002\x000\x001\x008\x00/\x007\x00/\x002\x001\x00 \x006\x00:\x003\x003\x00:\x001\x004\x00\n'
如何解决此问题并使它可读,以便我的程序可以在上面运行?
答案 0 :(得分:2)
尝试在代码中添加编码。
open(Filename, 'r', encoding='utf-8')
在此处查看更多信息:https://docs.python.org/3/library/functions.html#open
(从此回复中复制: Unicode (UTF-8) reading and writing to files in Python)
答案 1 :(得分:1)
文件中的数据编码为UTF-16(小端)。每隔一个字节都是一个空字节(\x00
)的事实强烈表明涉及UTF-16的某些变体。
向open
函数传递一个编码参数,以对数据进行解码。
file1 = open("sample_file.txt","r", encoding="utf-16-le")
file1.readlines()