繁体   English   中英

将 csv 文件复制到带有选定列的 sql 表

[英]Copy csv file to sql table with selected columns

我有这样一个 csv

#+BEGIN_SRC shell :results output
cat data/supervisor_salaries.csv
#+END_SRC

#+RESULTS:
town,supervisor,salary
Anytown,Jones,27000
Bumblyburg,Baker,24999
Moetown,Smith,32100
Bigville,Kao,31500
New Brillig,Carroll,72690

试图将其写入表格

#+begin_src sql :engine postgresql :dbuser org  :dbpassword 1618 :database analysis
\copy supervisor_salaries (town, supervisor, salary) FROM 'data/supervisor_salaries.csv'
WITH (FORMAT CSV, HEADER);
#+end_src

但它报告错误:

psql:/tmp/babel-PSl3Td/sql-in-rlHtPW:1: ERROR:  missing data for column "supervisor"
CONTEXT:  COPY supervisor_salaries, line 1: "town,supervisor,salary"

错误“缺少‘主管’列的数据,但 csv 文件确实有主管列,有什么问题?

\\copy命令是 Postgres 终端工具psql特有的功能,它不是 SQL 语句。 所有psql命令(以\\开头)都必须放在一行中,因此您已执行

\copy supervisor_salaries (town, supervisor, salary) FROM 'data/supervisor_salaries.csv'

这会引发错误,因为文件格式定义错误(默认为text )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM