【问题标题】:Dynamically create table from csv从 csv 动态创建表
【发布时间】:2014-03-14 10:40:58
【问题描述】:

我面临这样一种情况,我们从不同的客户端获取大量 CSV 文件,但目标表所期望的列数和列长度总是存在一些问题。

处理频繁更改的 CSV 文件的最佳方法是什么。我的目标是将这些 CSV 文件加载到 Postgres 数据库中。

我检查了 Postgres 中的 \COPY 命令,但它确实有一个创建表的选项。

【问题讨论】:

  • 澄清一下:您是要加载 CSV 文件中的所有列(根据需要创建新表)还是仅加载与当前 Postgresql 表结构匹配的列?

标签: postgresql csv


【解决方案1】:

您可以尝试创建一个 pg_dump 兼容文件,该文件具有适当的“创建表”部分,并使用它来加载您的数据。

【讨论】:

    【解决方案2】:

    当您必须处理不同类型的数据时,我建议您使用外部 ETL 工具(例如 CloverETL、Talend Studio 或 Pentaho Kettle)来加载数据。

    \copy 真正用于以已知结构导入格式良好的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-14
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      相关资源
      最近更新 更多