How two merge several .csv files horizontally with python?

后端 未结 6 584
渐次进展
渐次进展 2021-01-14 16:11

I\'ve several .csv files (~10) and need to merge them together into a single file horizontally. Each file has the same number of rows (~300) and 4 header lines which are not

6条回答
  •  [愿得一人]
    2021-01-14 16:44

    You can load the CSV files using the csv module in Python. Please refer to the documentation of this module for the loading code, I cannot remember it but it is really easy. Something like:

    import csv
    reader = csv.reader(open("some.csv", "rb"))
    csvContent = list(reader)
    

    After that, when you have the CSV files loaded in such form (a list of tuples):

    [ ("header1", "header2", "header3", "header4"),
      ("value01", "value12", "value13", "value14"),
      ("value11", "value12", "value13", "value14"),
      ... 
    ]
    

    You can merge two such lists line-by-line:

    result = [a+b for (a,b) in zip(csvList1, csvList2)]
    

    To save such a result, you can use:

    writer = csv.writer(open("some.csv", "wb"))
    writer.writerows(result)
    

提交回复
热议问题