【问题标题】:How should I import data from CSV into a Postgres table using pgAdmin 3?我应该如何使用 pgAdmin 3 将数据从 CSV 导入 Postgres 表?
【发布时间】:2013-10-24 09:01:30
【问题描述】:

我需要为此使用任何插件或库吗? 我想先在我的本地系统上试试这个,然后在 Heroku Postgresql 上做同样的事情

【问题讨论】:

    标签: postgresql pgadmin


    【解决方案1】:

    假设您有一个名为 mydata 的 SQL 表 - 您可以从 csv 文件加载数据,如下所示:

    COPY MYDATA FROM '<PATH>/MYDATA.CSV' CSV HEADER;
    

    更多详情请参考:http://www.postgresql.org/docs/9.2/static/sql-copy.html

    【讨论】:

      【解决方案2】:

      pgAdmin 从 1.16 开始就有用于数据导入的 GUI。您必须先创建表,然后才能轻松导入数据 - 只需右键单击表名并单击 Import。

      【讨论】:

      • 我应该如何将列从 CSV 映射到表格列?
      • 这要求表中的列与 CSV 文件 1:1 匹配,包括列的顺序。不需要映射。
      • 我遇到了唯一约束的问题,如何省略重复数据?
      • 在导入期间无法处理此问题。从表中删除约束,导入数据,删除重复数据,然后重新添加约束。
      • RE:将 CSV 中的列映射到表...pgAdmin 期望 CSV 匹配列的自然顺序(将列添加到表中的顺序)。这只是 pgAdmin 的一个限制。在下面,pgAdmin 实际上只是使用COPY 命令。如果您要自己为COPY 编写SQL,您可以指定导入的列的不同顺序。另外,请注意“列”选项卡,您可以在其中告诉 pgAdmin 在 CSV 中省略了某些列,因此应该生成一个默认值。
      【解决方案3】:

      您可能有一个名为“测试”的表

      COPY test(gid, "name", the_geom)
      FROM '/home/data/sample.csv'
      WITH DELIMITER ','
      CSV HEADER
      

      【讨论】:

        猜你喜欢
        • 2014-12-17
        • 1970-01-01
        • 2020-07-28
        • 2019-05-15
        • 2022-07-01
        • 1970-01-01
        • 2011-01-24
        • 1970-01-01
        • 2012-07-01
        相关资源
        最近更新 更多