通过命令行从 Postgres 导出 CSV
Export CSV From Postgres VIA Command Line
你好堆栈溢出!
我目前正在使用我开发的 C# 应用程序将 Postgres table 导出为 .csv。我可以使用以下命令毫无问题地导出它们...
set PGPASSWORD=password
psql -U USERNAME Database_Name
\copy (SELECT * FROM table1) TO C:\xyz\exportfile.csv CSV DELIMITER ',' HEADER;
我 运行 遇到的问题是 .csv 旨在与 Tableau 一起使用,但是,当导入到 excel 时,我 运行 遇到了同样的问题。它将 Tableau 和 Excel 中的文本字段转换为整数。这会导致在 Tableau 端加入序列号时出现问题。
我知道我可以手动更改 Tableau/Excel 中的这些字段,但我正在尝试找到一种方法来确保最终用户不需要这样做。我希望他们只需拖放更新的 .csv postgresql 数据提取,就可以毫无问题地启动 Tableau。他们似乎并不真正精通技术。我知道您可以将 Tableau 直接连接到 Postgres,但在这种特殊情况下,由于我无法控制的限制,我不允许这样做。
我正在使用 PostgreSQL 12 和 Tableau v2019.4.0
编辑:根据要求提供示例数据!这两个字段在 PostgreSQL 中都是 TEXT,但导出没有指定。
Excel Formatting
ASSETNUM,ITEMNUM
1834,8.11234E+12
1835,8.11234E+12
Notepad Formatting
ASSETNUM,ITEMNUM
1834,8112345673294
1835,8112345673295
注意:如果您 select Excel 中的特定单元格,它会显示完整的数字。
CSV 文件没有任何类型信息,因此像 Excel/Tableau 这样的程序可以随意解释数据。
但是,@JorgeCampos 的 link 提供了有用的信息。例如
"=""123""","=""123"""
得到的解释不同于
123,123
当您将其加载到 Excel 时。
如果你想在数据中添加引号,最简单的方法是使用 PostgreSQL 的 string functions,例如
SELECT '"=""' || my_column || '"""' FROM my_database
你好堆栈溢出! 我目前正在使用我开发的 C# 应用程序将 Postgres table 导出为 .csv。我可以使用以下命令毫无问题地导出它们...
set PGPASSWORD=password
psql -U USERNAME Database_Name
\copy (SELECT * FROM table1) TO C:\xyz\exportfile.csv CSV DELIMITER ',' HEADER;
我 运行 遇到的问题是 .csv 旨在与 Tableau 一起使用,但是,当导入到 excel 时,我 运行 遇到了同样的问题。它将 Tableau 和 Excel 中的文本字段转换为整数。这会导致在 Tableau 端加入序列号时出现问题。
我知道我可以手动更改 Tableau/Excel 中的这些字段,但我正在尝试找到一种方法来确保最终用户不需要这样做。我希望他们只需拖放更新的 .csv postgresql 数据提取,就可以毫无问题地启动 Tableau。他们似乎并不真正精通技术。我知道您可以将 Tableau 直接连接到 Postgres,但在这种特殊情况下,由于我无法控制的限制,我不允许这样做。
我正在使用 PostgreSQL 12 和 Tableau v2019.4.0
编辑:根据要求提供示例数据!这两个字段在 PostgreSQL 中都是 TEXT,但导出没有指定。
Excel Formatting
ASSETNUM,ITEMNUM
1834,8.11234E+12
1835,8.11234E+12
Notepad Formatting
ASSETNUM,ITEMNUM
1834,8112345673294
1835,8112345673295
注意:如果您 select Excel 中的特定单元格,它会显示完整的数字。
CSV 文件没有任何类型信息,因此像 Excel/Tableau 这样的程序可以随意解释数据。
但是,@JorgeCampos 的 link 提供了有用的信息。例如
"=""123""","=""123"""
得到的解释不同于
123,123
当您将其加载到 Excel 时。
如果你想在数据中添加引号,最简单的方法是使用 PostgreSQL 的 string functions,例如
SELECT '"=""' || my_column || '"""' FROM my_database