0

私はPythonが初めてで、大きなテキストファイルから複数のcsvファイルを作成するところまで来ました。したがって、私のcsvは以下のようになります。

CSV1

ABC、1

防御、2

GHI、3

CSV2

ABC、4

防御、5

GHI、6

最大 15 個の csv ファイルについても同様です。

以下のような結合されたcsvファイルを作成したいと思います。

ABC、1、4

防御、2、5

GHI、3、6

これを行う方法についての指針をいただければ幸いです。

4

2 に答える 2

0

すべての CSV ファイルが同じ長さで、同じ最初の列が同じ順序で含まれていると仮定すると、次のようなものが機能する可能性があります。

list_of_files = ['csv1.csv', 'csv2.csv', 'csv3.csv']

# Use the first file as a template
with open(list_of_files[0], 'r') as f:
    output_text = [line.strip() for line in f]

# Append the values to the end of the lines
for fn in list_of_files[1:]:
    with open(fn, 'r') as f:
        for i, line in enumerate(f):
            key, value = line.strip().split(",")
            output_text[i] += "," + value

# Dump result to new csv
with open("result.csv", 'w') as f:
    f.write("\n".join(output_text))
于 2013-07-25T05:26:27.407 に答える
0
import csv
from collections import defaultdict

csvs = ["data1.csv", "data2.csv"]
for file in csvs:
    for line in csv.reader(open(file)):
        d.setdefault(line[0], []).append(line[1]) 

with open("result.csv", "w") as f:
    wrt = csv.writer(f)
    wrt.writerows([[k] + v for k, v in d.items()])
于 2013-07-25T05:43:15.867 に答える