我想打开我的file.txt
并从此文件中分割所有数据。
这是我的file.txt
:
some_data1 some_data2 some_data3 some_data4 some_data5
这是我的 python 代码:
>>>file_txt = open("file.txt", 'r')
>>>data = file_txt.read()
>>>data_list = data.split(' ')
>>>print data
some_data1 some_data2 some_data3 some_data4 some_data5
>>>print data_list
['\xef\xbb\xbfsome_data1', 'some_data1', "some_data1", 'some_data1', 'some_data1\n']
正如你在这里看到的,当我打印我的data_list
它在我的列表中添加了以下内容:\xef\xbb\xbf
和这个:\n
。这些是什么以及如何清除我的列表中的它们。
Thanks.
您的文件包含UTF-8 BOM在一开始的时候。
要摆脱它,首先将文件内容解码为 unicode。
fp = open("file.txt")
data = fp.read().decode("utf-8-sig").encode("utf-8")
但最好不要将其编码回utf-8
,但与unicode
d 文本。有一个很好的规则:尽快将所有输入的文本数据解码为 unicode,并且仅使用 unicode;并尽可能晚地将输出数据编码为所需的编码。这将使您免于许多头痛。
要以某种编码读取更大的文件,请使用io.open or codecs.open.
另请检查this.
Use str.strip() or str.rstrip()摆脱换行符\n
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)