PostgreSQL COPY 附加页眉 - csv 中的页脚行

Posted

技术标签:

【中文标题】PostgreSQL COPY 附加页眉 - csv 中的页脚行【英文标题】:PostgreSQL COPY additional header - footer rows in csv 【发布时间】:2021-10-03 21:52:48 【问题描述】:

我想将几个 csv 文件复制到我的数据库中。 但是,它们有额外的页眉/页脚行,其中包含不是 csv 格式的信息。 例如:

Version: xxxxxxxxx
Start
Column1;Column2;Column3
1;2;3
4;5;6
7;8;9
End
Rows of Data: 3

有没有办法跳过额外的行/列?

【问题讨论】:

【参考方案1】:

如果文件结构始终相同 - 在您的情况下,前两个和后两个无效 - 您可以使用 FROM PROGRAM 并使用 headtail 即时修复文件:

\COPY t FROM PROGRAM 'tail -n +3 file.csv | head -n -2' CSV DELIMITER ';' HEADER;

【讨论】:

非常感谢您的回答。由于它是固定格式,因此肯定会有所帮助。 很高兴它有帮助。干杯!

以上是关于PostgreSQL COPY 附加页眉 - csv 中的页脚行的主要内容,如果未能解决你的问题,请参考以下文章

postgresql copy 消息

PostgreSQL - \copy 命令

Postgresql 锁和 copy_expert

PostgreSQL copy协议与事务

PSQL /copy : 变量替换不起作用 | PostgreSQL 11

在 PostgreSQL 中,如何使用 COPY 命令插入数据?