【问题标题】:Apending CSV files with columns in different orders附加 CSV 文件,其中列的顺序不同
【发布时间】:2012-10-23 20:42:48
【问题描述】:

我需要通过附加每个源文件中的行来定期将来自多个 CSV 文件的数据合并到一个电子表格中。只有 OpenOffice/LibreOffice 能够读取 UTF-8 CSV 文件,该文件具有包含换行符的引号分隔字段。

现在,每个 CSV 文件都有列标题,但列的顺序因文件而异。有些文件还缺少列,有些文件有多余的列。

我有列名的主列表,以及我希望它们全部排列的顺序。解决这个问题的最佳方法是什么? LibreOffice 可以正确解析 CSV(Excel 肯定不会)。最终,这些文件都将进入一个合并的电子表格。除了列顺序之外,每个源文件中的每一行都必须保持完整。

这些步骤最终也需要交给非技术第三方,所以我正在寻找一种不会提供太多非专家技术障碍的方法。

【问题讨论】:

  • 我认为我倾向于一个 PHP 应用程序,它将 CSV 合并为一个,然后可以作为一个大的 CSV 下载。问题总是在解析 LibreOffice 处理得很好的 CSV(处理无效的 UTF-8,记录之间和记录内的 Unix/DOS 行结尾的混合)。但如果我忽略了一些更简单的解决方案,我宁愿不去那里。

标签: csv utf-8 append libreoffice


【解决方案1】:

好的,我正在以不同的方式解决这个问题。相反,我返回源应用程序 (WooCommerce) 来修复导出,因此电子表格在每次导出时都以相同的顺序列出所有相同的列。这确实有我需要跟进的其他后果,例如管理补丁和尝试让源项目接受更改。但它确实避免了必须在 CSV 文件中附加不匹配的列,这似乎是一个常见问题,没有人有任何真正的解决方案(是的,我已经搜索了很多)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2013-02-20
    • 2014-05-13
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多