从 pgAdmin4 导出的 csv 文件中保留索引列

Posted

技术标签:

【中文标题】从 pgAdmin4 导出的 csv 文件中保留索引列【英文标题】:Retain index column in exported csv file from pgAdmin4 【发布时间】:2020-07-22 08:50:47 【问题描述】:

我在 pgAdmin4 中有一个简单的 postgresql 表,其中包含 3 列(a、b、c)和一个要导出到 csv 的索引列:

我尝试使用 pgAdmin4 的导入/导出功能,但导出的 csv 使用列“a”作为索引:

如何按上述方式导出它,以便保留索引列并与 3 列(a、b、c)分开,而不必在导出之前在 pgAdmin4 中显式创建“索引”列?

【问题讨论】:

【参考方案1】:

我相信您对第一张图片左侧的这个顺序编号的含义感到困惑。它不是索引。它只是一种视觉帮助,让您知道您正在查看哪一行,并且它不会被导出。也许row_number() 就是你要找的东西:

数据样本

CREATE TEMPORARY TABLE mynewc (a int, b int, c int);
INSERT INTO mynewc VALUES (1,4,7),(2,5,8),(3,6,9);

使用COPY导出

COPY (
  SELECT ROW_NUMBER() OVER () AS index,* FROM mynewc
) TO STDOUT CSV HEADER; 

index,a,b,c
1,1,4,7
2,2,5,8
3,3,6,9

如果您想知道如何从中获取文件,请将 STDOUT 更改为路径,例如'/home/jason/mynewc.csv'。请记住,操作系统用户 postgres 需要对给定路径的写入权限。

【讨论】:

以上是关于从 pgAdmin4 导出的 csv 文件中保留索引列的主要内容,如果未能解决你的问题,请参考以下文章

PLSQLdev导出CSV文件,数据前面保留0

导出为 CSV 时,如何在列中保留前导零?

pgadmin数据库可以直接导出数据吗?

pgadmin 4 导入/导出表不起作用

如何将带有中文字符的 Excel 文件导出为 CSV?

我如何从用swift编写的iOS中完全导出csv文件?