0
我正在寫一個Python腳本,它逐行讀取輸入文件,每行包含20個值。我試圖在第一個數組中存儲第一個數據,並在第二個數組中存儲另外19個數據。Python將值行分成兩個數組
他們被定義爲:
x = numpy.zeros((n_lines))
y = numpy.zeros((n_lines,19))
n_lines在我輸入文件中的行數。 和我與
for i,line in enumerate(open(infile)):
x[i],y[i] = line.split(' ')
閱讀它但我通過在一個單一的大陣列中存儲它,然後將其切割成兩個末端遇到Too many values to unpack error
我現在做它。我沒有使用line.split(' ')[0],line.split(' ')[1:]
,因爲它看起來沒有優化分裂兩次。
是否有一種整潔的(Pythonista)解包方式?
(我使用Python 2.7,如果該事項)
這絕對是更快的代碼,但在這裏解釋說:http://stackoverflow.com/questions/24701696/python-and-memory-efficient-way-of-導入-2d數據對於大規模數據導入而言效率低下。 – 2014-10-03 13:59:45
然後你可以創建整個大數組,然後使用'numpy.split()'作爲它的顯示。這能解決問題嗎? – heltonbiker 2014-10-03 14:03:17
我的問題可能不夠清楚,我相信你的分裂解決方案可能會比我現在使用的解決方案更好。我很想知道從20到1 + 19解包的正確方法,而不是如何讀取文件或拆分數組。順便謝謝你的意見! – 2014-10-03 14:17:43