首页 > 解决方案 > 合并 CSV 文件与其中任何一个的架构有关

问题描述

我有多个 csv 文件(大约 100 个),每个文件都有相同的标题。但是,每个文件中的标题顺序是不同的。我应该如何将它们合并到一个 csv 中,其中正确的数据放在右列中

前任:

  1. csv 有标题:{header1, header2, header3, ... header10}
  2. csv 有标题:{header2, header5, header10, ... header9}

我想合并它们,使 resultant.csv 看起来像 {header1, header2, header3, ... header10} 但将数据正确映射到每一列。就像 1.csv 中的 header1 数据与 2.csv 中的 header1 数据正确映射一样,依此类推。

标签: pythonpython-3.xpandascsv

解决方案


它不是 Python,但它可以解决您的目标。使用 Miller ( https://github.com/johnkerl/miller ),一个很棒的命令行实用程序,命令是

mlr --csv unsparsify ./*.csv >output.csv

如果您还想重新排序字段

mlr --csv unsparsify ./*.csv then reorder -f header1, header2, header3, ... header10 >output.csv

推荐阅读