我希望阅读,计算和打印出相同格式的多个文件。
filenames2 = ["AAA", "BBB", "CCC", "DDD", "EEE"]
for filename2 in filenames2:
with loadtxt (filename2, float) as data:
a1 = data[:,0]
b1 = data[:,3]
c1 = data[:,4]
d1 = data[:,5]
e1 = data[:,6]
%% DO something with all those data.
z = numpy.array((calculated_a11, calculated_b11, calculated_c11), dtype = float)
z2 = z.T
numpy.savetxt('avegedoutput_%s.txt' %filenames2, z2.reshape((1000,3)), fmt='%i %f %f')
我希望以这种方式编写,以便希望能够处理多个文件。但似乎numpy savetxt和loadtxt不能以这种方式工作....欢迎任何建议。
提前致谢。
ps)另外,我是否需要为这些数据读取部分制作空矩阵?似乎这些命令会产生这些错误:“TypeError:'file'对象是unsubscriptable”。
我认为我需要制作零矩阵,并将数据放入那些矩阵中,就像我在Matlab中那样。这是正确的吗?
答案 0 :(得分:2)
numpy.loadtxt接受一个文件名(字符串)并返回一个numpy数组。所以你不需要with
子句:
filenames2 = ["AAA", "BBB", "CCC", "DDD", "EEE"]
for filename2 in filenames2:
data = np.loadtxt(filename2)
a1 = data[:,0]
# ...
np.savetxt('output_filename.txt', z, ...)
到目前为止,我认为没有必要在代码中制作零矩阵。 data
将提交文件内容,a1
,b1
,...,将从data
获取其内容。