当前位置: 代码迷 >> python >> 将不同的csv文件中的列提取到单个文件中
  详细解决方案

将不同的csv文件中的列提取到单个文件中

热度:65   发布时间:2023-07-16 09:38:41.0

有人可以帮我解决这个问题吗? 我不确定如何解决此问题。 我有10个不同的csv文件。 每个文件包含不同数量的列。 每列包含一个标题和数据。 我想从不同的csv文件中复制选择性的列,并按特定顺序在新文件中进行布局。 例如,来自文件1的第1,5,6列,来自文件2的第1,2,3列,来自文件3的第8列以创建一个包含7个相应格式的列的文件:

column1(file1)  column1(file2) column2(file2) column3(file2) column5(file1) column8(file3) column6(file1)

我该如何编码?

这未经测试,但应该使您走上正确的道路:

import csv
import itertools

FILES = ['file1.csv', 'file2.csv', 'file3.csv', ...]

with open('output', 'wb') as output:
    input_files = [ csv.reader(open(fname, 'rb')) for fname in FILES ]
    writer = csv.writer(output)
    for row in itertools.izip(*input_files):
        writer.writerow([
            # format is row[file#-1][column#-1]
            row[0][0],
            row[1][0],
            row[1][1],
            row[1][2],
            row[0][4],
            row[2][7],
            row[0][5],
        ])
  相关解决方案