float()的文本无效:python中有['1'错误

2024-06-12 06:01:07 发布

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

代码

    for i in range(num):
           # for j in range(4):
              lines = outf1.readline()
              brr[i]= list(map(float, lines.split()))

这是我的输入数据集

^{pr2}$

我正在使用SOM算法。我有一个包含浮点值的文件,它有4到5个十进制值。我需要检索这些值并存储到数组。在


Tags: 数据代码inmapforreadlinerangefloat
2条回答

您似乎在给split输入一个以['1'开头的行,因此,方括号将是一个问题。

快速的解决方法是每行strip(以确保没有空格),然后删除第一个和最后一个字符以去掉括号。

^{}应该做到:

In [12]: line = "['1', '1.52101', '13.64', '4.49', '1.1', '71.78', '0.06', '8.75', '0', '0', '1']"

In [13]: map(float, ast.literal_eval(line))
Out[13]: [1.0, 1.52101, 13.64, 4.49, 1.1, 71.78, 0.06, 8.75, 0.0, 0.0, 1.0]

相关问题 更多 >