我试图将多个文件组合成一个文件,其中每个文件都包含一列,我需要获得一个包含两列的文件,并将结果文件绘制为(x,y),如下所示:
x y result
1 4 1 4
2 5 2 5
3 6 3 6
并运行n
文本文件的代码。
我该怎么做?
答案 0 :(得分:0)
write_files
获得一个输入files
,它是文件路径(字符串)的列表。
def write_files(files):
opened_files = []
for f in files:
opened_files.append(open(f, "r"))
output_file = open("output.txt", "w")
num_lines = sum(1 for line in opened_files[0])
opened_files[0].seek(0,0)
for i in range(num_lines):
line = [of.readline().rstrip() for of in opened_files]
line = " ".join(line)
line += "\n"
output_file.write(line)
for of in opened_files:
of.close()
output_file.close()
write_files(["1.txt", "2.txt"])
答案 1 :(得分:0)
一个简单的解决方案,假设所有文件都具有浮点格式的相同数量的元素。
import numpy as np
filename_list=['file0.txt', 'file1.txt']#and so on
columns = []
for filename in filename_list:
f=open(filename)
x = np.array([float(raw) for raw in f.readlines()])
columns.append(x)
columns = np.vstack(columns).T
np.savetxt('filename_out.txt', columns)
另请参阅方法savetxt以自定义输出
编辑:
如果您在某个目录中有100个文件(让我们称之为files_dir
),您可以使用listdir
库中的os
方法,请注意,{{1返回目录和文件:
listdir