我有n个txt文件,每个文件在99列中都有99个浮点数。我阅读了每个文件,并通过以下脚本附加了所有数据。
add_test(sometest somecommand)
set_tests_properties(sometest PROPERTIES PASS_REGULAR_EXPRESSION some_regex)
在那之后,我需要对每个文件进行列式汇总。例如file1,column1 + file2,column1 + ... + file(n)column(1)并针对所有列进行迭代。什么是执行此操作的有效方法?我可以使用列表理解吗?
**编辑过的代码,现在可以正常使用。
import glob
import numpy as np
import matplotlib.pyplot as plt
msd_files = (glob.glob('MSD_no_fs*'))
msd_all=[]
for msd_file in msd_files:
# print(msd_file)
msd = numpy.loadtxt(fname=msd_file, delimiter=',')
msd_all.append(msd)
答案 0 :(得分:1)
这取决于您想要的效率水平。使用numpy加载许多csv文件可能是一个错误的选择。这是我的建议。
import glob
import numpy as np
msd_files = (glob.glob('MSD_no_fs*'))
msd_all=[]
for msd_file in msd_files:
with open(msd_file) as f:
for line in f:
msd_all.append([float(v) for v in line.strip().split(',')])
msa_array = np.array(msd_all)
result = msa_array.sum(axis=0)