【问题标题】:Importing a csv file into postgresql将csv文件导入postgresql
【发布时间】:2014-01-17 18:43:01
【问题描述】:

我有一个*.csv 文件,我想将它导入我的数据库。基本上是这样的:

2013.11.07,11:50,1.35163,1.35167,1.35161,1.35163,15
2013.11.07,11:51,1.35166,1.35173,1.35165,1.35170,21
2013.11.07,11:52,1.35170,1.35170,1.35163,1.35163,11

我正在使用:

DROP TABLE table;

CREATE TABLE table
(
id SERIAL primary key,
Date Date,
Time Time,
Open double precision, 
High double precision, 
Low double precision,
Close double precision,
Volume bigint
);

COPY table FROM 'C:\\Users\\user\\EURUSD1.txt' DELIMITER ',' CSV;

但是我得到了日期:

错误:整数的无效输入语法:“07/11/2013”​​ 上下文:复制 eurusd_m1,第 1 行,列 ID:“07/11/2013”​​

非常感谢您对如何解决这个问题的帮助?

【问题讨论】:

  • 文件格式和表列顺序不匹配,列数也不匹配。您需要创建一个表格,就像您要加载的数据一样。
  • @Abhinav 谢谢你的回答!然而,这是不对的! create 语句的列数与 csv 匹配(idSERIAL)。如果我错了,请告诉我!
  • 查看错误似乎并非如此。错误表示 COPY 命令正在尝试将 Date 数据分配给 id 列。

标签: sql postgresql csv


【解决方案1】:

仅仅因为id 是串行的并不意味着它在加载时被忽略 - 你应该在你的copy 语句中指定你的列,例如

COPY table (Date, Time, Open, High, Low, Close, Volume)
  FROM 'C:\\Users\\user\\EURUSD1.txt' DELIMITER ',' CSV;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2013-02-22
    • 2020-03-23
    • 2021-10-20
    相关资源
    最近更新 更多