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