[英]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.