1

Python 2.7 で次の質問があります。20 個の異なる txt ファイルがあり、それぞれに正確に 1 列の数値が含まれています。今-出力として-これらすべての列をまとめた1つのファイルが必要です。Python で 1 列のファイルを連結するにはどうすればよいですか? fileinput モジュールを使用することを考えていましたが、すべての異なる txt ファイルを一度に開かなければならないのではないかと心配しています。私の考え:

filenames = ['input1.txt','input2.txt',...,'input20.txt']
import fileinput

with open('/path/output.txt', 'w') as outfile:
    for line in fileinput.input(filenames)
        write(line)

それに関する提案はありますか?助けてくれてありがとう!

4

2 に答える 2

0

非常に単純な(素朴な?)解決策は

filenames = ['a.txt', 'b.txt', 'c.txt', 'd.txt']
columns = []
for filename in filenames:
    lines = []
    for line in open(filename):
        lines.append(line.strip('\n'))
    columns.append(lines)
rows = zip(*columns)
with open('output.txt', 'w') as outfile:
    for row in rows:
        outfile.write("\t".join(row))
        outfile.write("\n")

しかし、*nix (OS X ターミナルと Cygwin を含む) では、

$ paste a.txt b.txt c.txt d.txt

コマンドラインから。

于 2013-08-29T08:39:44.910 に答える