2017-06-22 37 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表達式可以用較少的代碼行完成同樣的工作,但我保持簡單,看起來像是一個初學者。