代码
for i in range(num):
# for j in range(4):
lines = outf1.readline()
brr[i]= list(map(float, lines.split()))
这是我的输入数据集
['1', '1.52101', '13.64', '4.49', '1.1', '71.78', '0.06', '8.75', '0', '0', '1']
['2', '1.51761', '13.89', '3.6', '1.36', '72.73', '0.48', '7.83', '0', '0', '1']
['3', '1.51618', '13.53', '3.55', '1.54', '72.99', '0.39', '7.78', '0', '0', '1']
我正在使用SOM算法。我有一个包含4或5个十进制值的浮点值的文件。我需要检索这些值并存储到数组。
答案 0 :(得分:1)
ast.literal_eval()
应该这样做:
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]
答案 1 :(得分:0)
你似乎正在向split
提供一条以['1'
开头的行,所以当然这个方形的问题会成为一个问题。
快速解决方法是每行只strip
(以确保没有空格),然后删除第一个和最后一个字符以摆脱括号。