2017-06-22 36 views
0

我在文本文件中使用以下格式的整数的空格分隔列表。如何从文本文件创建python/numpy数组?

1 2 3 4 ...#First row can have any number of entries 
3 5 6 1 6 7 8 9 ...#The next row can have a different number of entries 
#More such rows different number of entries in each row 

如何从该文件创建一个python列表?我正在寻找的输出是一个1D数组,其中所有数字都在单个列表中,如[1,2,3,4,...,3,5,6,1,6,7,8,9 ,. ..]。任何基于numpy的选项也是受欢迎的。感谢您的任何帮助和建议。

+1

你有什么试过?这是一项基本任务。请告诉我们您遇到的代码,您遇到问题。如果你没有,请做一些研究然后回来。 SO不是代码写入服务。 – stevieb

回答

0

下面的函数应该做的伎俩:

def file_2_int_list (file_path): 
    retval = [] 
    with open(file_path, 'r') as f: 
     for line in f: 
      for num in line.split(' '): 
       retval.append(int(num)) 
return retval 

此函数获取文件路径,迭代通过行的文本行,分割每行到一个列表(使用空格作为分隔符)并返回所有值的列表(转换为整数)。

使用lambda表达式可以用较少的代码行完成同样的工作,但我保持简单,看起来像是一个初学者。