Python 如何在没有固定列大小的情况下使用numpy加载数据

Python 如何在没有固定列大小的情况下使用numpy加载数据,python,arrays,text,numpy,Python,Arrays,Text,Numpy,我们如何加载一个以制表符分隔的值但没有固定列大小的文本文件,以完全跳过缺少的值的方式,以一个列表/数组或任何包含每行numpy数组的容器结束(或一个完整的numpy数组?->可能是不可能的,因为numpy需要固定的大小) 只有用python读入每一行,然后用loadtxt将该行转换为1D数组,才能做到这一点吗 list=[] for lineString in file: list.append( np.loadtxt(lineString) ) 或者可以使用load txt吗?也许您

我们如何加载一个以制表符分隔的值但没有固定列大小的文本文件,以完全跳过缺少的值的方式,以一个列表/数组或任何包含每行numpy数组的容器结束(或一个完整的numpy数组?->可能是不可能的,因为numpy需要固定的大小)

只有用python读入每一行,然后用
loadtxt
将该行转换为1D数组,才能做到这一点吗

list=[]
for lineString in file:
    list.append( np.loadtxt(lineString) )
或者可以使用load txt吗?

也许您可以使用

如果您的文件如下所示:

1   2   3   4   5   6
1   2
8.0 9   97  54
然后这样做:

import pandas as pd
pd.read_csv('yourfile.txt',sep='\t')
给出:

   1  2   3   4   5   6
0  1  2 NaN NaN NaN NaN
1  8  9  97  54 NaN NaN
要转换为numpy数组,请执行以下操作:

np.array(pd.read_csv('yourfile.txt',sep='\t'))


array([[  1.,   2.,  nan,  nan,  nan,  nan],
       [  8.,   9.,  97.,  54.,  nan,  nan]])