如何在从Postgresql导入CSV时跳过前几行?

问题描述:

我试图导入一个CSV文件到我的Postgresql,第一行8行被跳过并从第九行开始。我下面的作品码,从第二行读取和处理第一行标题:如何在从Postgresql导入CSV时跳过前几行?

create table report(
      id integer, 
      name character(3), 
      orders integer, 
      shipments float 

      ); 

COPY report 
FROM 'C:\Users\sample.csv' DELIMITER ',' CSV HEADER; 

现在如何改进这个代码从9号线阅读。 谢谢!

CSV details

在PostgreSQL 9.3或更新的版本,COPY可以指程序对数据进行预处理,例如Unix的tail

要在第9行开始导入:

COPY report FROM PROGRAM 'tail -n +9 /path/to/file.csv' delimiter ',' csv; 

显然,你正在使用Windows,所以tail可能不会立即可用。我个人会从MSYS安装它,否则有
Looking for a windows equivalent of the unix tail command
Windows equivalent of the 'tail' command中提到的替代方案。

+0

不需要msys或类似的东西。命令行程序可以作为本地windows二进制文件下载:http://unxutils.sourceforge.net/或http://gnuwin32.sourceforge.net/ –