CSV文件很简单,如下所示:
Name,Channel0,Channel1,Channel2,Channel3,Channel4
CSBA10,125833,147883,184269,162270,151366
CSBA20,125533,145883,154269,152270,155365
表如下所示:
CREATE TABLE public."csTest"
(
idname character varying(200) COLLATE pg_catalog."default" NOT NULL DEFAULT nextval('seqtest'::regclass),
channel0 double precision,
channel1 double precision,
channel2 double precision,
channel3 double precision,
channel4 double precision,
CONSTRAINT "csTest_pkey" PRIMARY KEY (idname)
);
查询如下所示:
COPY public."csTest" FROM '/file/on/server.csv' DELIMITER ',' CSV;
所有这些都是通过一个简单的python脚本完成的,而查询是失败的,我不知道为什么。但是,为了以防万一,为了您的方便,这里是python代码
conn = psycopg2.connect(
"host="+host+" port="+port+" dbname="+dbname+
" user="+user+" password="+password+""
)
cur = conn.cursor()
cur.execute(query)
conn.commit()
conn.close()
Error Message: psycopg2.DataError: invalid input syntax for type numeric: "Channel0"
我错过了什么
提前谢谢
应该做到这一点,因为它将第一行读取为数据,而不是列名(如果未指定)
更新 此外,我还预测了
numeric(10,10)
和您的数据的问题-也许您指的是numeric (20,10)
或类似的numeric(10,10)
将接受0-0.9999999范围相关问题 更多 >
编程相关推荐