【问题标题】:Merge CSV files with python用 python 合并 CSV 文件
【发布时间】:2018-05-30 15:13:23
【问题描述】:

我有一个包含大约 200 个 CSV 文件的文件夹。每个只有第一行中的值。如何组合文件,以便每个 CSV 文件成为新数据集中的一行。

例如:

1.csv contains:
[1, 2, 3, 4, 5, 6]
2.csv contains:
[2, 3, 4, 5, 5, 7]

我想合并 CSV,使最终的 CSV 看起来像:

final.csv contains:
[1, 2, 3, 4, 5, 6]
[2, 3, 4, 5, 5, 6]

*每个矩阵是 .csv 的一行,每个 , 表示一个新单元格。

谢谢!

【问题讨论】:

  • 矩阵?我不明白,您的 csv 是否实际上包含 "[1, 2, .. 即,它们是否真的有那些括号?
  • 老实说,您只需 cat 就可以做到这一点

标签: python csv


【解决方案1】:

如果你有 bash,你可以使用

cat *.csv > combined.csv

或者,如果你想用 python 方式来做:

import csv

with open('combined.csv', 'wb') as out_file:
    writer = csv.writer(out_file)
    for fname in os.listdir('.'):
        with open(fname, 'rb') as in_file:
            for row in csv.reader(in_file):
                writer.writerow(row)

在这里,您需要导航到包含 200 个 csv 文件的目录。

【讨论】:

    【解决方案2】:
    • windows cmd - 键入 copy *.csv combined.csv

    • linux bash - cat file1.csv file2.csv > combined.csv

    • python - 类似于

      fout=open("out.csv","a")
      for num in range(1,201):
          for line in open("sh"+str(num)+".csv"):
               fout.write(line)    
      fout.close()
      

    【讨论】:

      猜你喜欢
      • 2020-09-03
      • 2016-05-01
      • 1970-01-01
      • 2020-03-18
      • 2017-06-07
      • 2012-08-12
      • 1970-01-01
      • 2013-04-22
      • 2020-11-22
      相关资源
      最近更新 更多