如何将多行数字文件读入一维numpy数组?

如何将多行数字文件读入一维numpy数组?,numpy,Numpy,我档案里有一些数字 8.89661443042575 17.8003874198066 17.8003323639473 43.9969250561223 4.51593232168458 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 读入这些数据的最规范的方法是什么,这样结果就是一个1维numpy数字数组,8个元素长?不是最有

我档案里有一些数字

   8.89661443042575        17.8003874198066        17.8003323639473
   43.9969250561223        4.51593232168458        0.000000000000000E+000
   0.000000000000000E+000  0.000000000000000E+000

读入这些数据的最规范的方法是什么,这样结果就是一个1维numpy数字数组,8个元素长?

不是最有效的代码(我认为),但它可以工作:

import numpy as np

a = []
with open('file.txt') as temp_file:
    for i in temp_file:
        a.append(i.split())  # removes whitespaces and split into one list per row
np_array = np.asarray([float(item) for sublist in a for item in sublist])  # flatten, str->float, create-array

一个简单的方法是:

with open('data.txt', 'r') as f:
    a = np.array([float(field) for field in f.read().split()])

@gelezko文档说文本文件中的每一行都必须有相同数量的值。这对于示例无效。@gelezko您尝试过这个吗?您没有收到错误“ValueError:第3行的列数错误”吗?