Python 将txt文件导入到二维浮动列表中

Python 将txt文件导入到二维浮动列表中,python,file,text,Python,File,Text,我有一个包含浮点数的txt文件,我想用python脚本将其打开到一个二维浮点数列表中。如何将txt存储到二维浮点数列表中?我正在使用以下代码: arrays = [] for line in open('normRowsRaw.txt'): # use a list comprehension to build your array on the fly new_array = np.array((array.float(i) for i in line.split(' ')))

我有一个包含浮点数的txt文件,我想用python脚本将其打开到一个二维浮点数列表中。如何将txt存储到二维浮点数列表中?我正在使用以下代码:

arrays = []
for line in open('normRowsRaw.txt'):
# use a list comprehension to build your array on the fly
      new_array = np.array((array.float(i) for i in line.split(' '))) 
      arrays.append(new_array)
我的文件与上述系列类似:

0.0098506, 0.068954, 0.007388, 0.0049253, 0.0049253, 0.054178, 0.014776, 0.014776,  
0.014776, 0.0024627, 0.007388, 0.0098506, 0.007388, 0.022164, 0.029552, 0.017239, 
0.0024627, 0.019701, 0.0098506, 0.0024627, 0, 0.068954, 0.0098506, 0.11082, 0.0024627...

您可以使用列表理解将每个字符串转换为浮点,并将2D数组作为numpy数组返回

import numpy as np
with open('normRowsRaw.txt') as file:
    array2d = np.array([[float(digit) for digit in line.split(",")] for line in file])
你可以试试这个

arrays = []
with open('normRowsRaw.txt') as f:
    f = f.read().split(',')
    for n in f:
        arrays.append(float(n.strip()))
编辑
这是一个普通列表的附加项,而不是2d

这是is执行此操作的方式:

for line in open('normRowsRaw.txt'):
    # use a list comprehension to build your array on the fly
    array = line.split(',')
    del array[len(array)-1] #to remove \n from array

    new_array = []
    for i in range(0,len(array)-1):
       new_array.append(float(array[i]))
    #After all elements are added to an array, add array to result
    arrays.append(new_array)        

ValueError:float()的文本无效:0.0098506,这是第一个元素如果我想让array2d和array2d[I]成为列表类型会怎么样?您的文件只是一行逗号分隔的值,还是有换行符?如果有换行符,这将为您提供一个2D numpy数组。实际上,文件大小为360x339。您的文件是否在每行上包含相同数量的项目?AttributeError:“file”对象没有属性“split”