导入文本文件将提供

2024-05-18 14:21:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含以下数据的文本文件:

5298    10036   4   360 8
6128    11947   2   385 7
9472    18930   0   233 4
5056    9790    1   293 6

我使用以下代码读取此文件:

^{pr2}$

这给了我以下错误:

could not convert string to float: ÿþ5

为什么我看到这个错误?在

更新:

print lines 

显示:

['\xff\xfe5\x002\x009\x008\x00\t\x001\x000\x000\x003\x006\x00\t\x004\x00\t\x003\x006\x000\x00\t\x008\x00\r\x00\n', '\x006\x001\x002\x008\x00\t\x001\x001\x009\x004\x007\x00\t\x002\x00\t\x003\x008\x005\x00\t\x007\x00\r\x00\n', '\x009\x004\x007\x002\x00\t\x001\x008\x009\x003\x000\x00\t\x000\x00\t\x002\x003\x003\x00\t\x004\x00\r\x00\n', '\x005\x000\x005\x006\x00\t\x009\x007\x009\x000\x00\t\x001\x00\t\x002\x009\x003\x00\t\x006\x00\r\x00\n', '\x001\x005\x000\x006\x004\x00\t\x003\x000\x001\x006\x000\x00\t\x001\x00\t\x003\x001\x002\x00\t\x008\x00']

Tags: 数据代码错误文本文件x00x006x000x004
3条回答
import io
file1 = io.open("test.txt","r",encoding='utf-16')
lines = file1.readlines()
BF=[map(float, line.split()) for line in lines]
print BF

结果:

^{pr2}$

您有一个utf-16BOM,这是0xFE0xFF,它被解释为ÿþ,您需要打开文件并传递编码。在

file1 = open("test.txt","r", encoding = "utf-16")

使用python 2时,可以尝试以下操作:

^{pr2}$

如果每行都有一个换行符,为什么不打印呢线.分割()每行一行;只是为了确认数字是否正确分割。。。。在

相关问题 更多 >

    热门问题