Postgresql 使用批处理脚本将以管道分隔的csv转换为以制表符分隔的csv
我正在尝试编写一个批处理脚本,该脚本将查询Postgres数据库并将结果输出到csv。目前,它查询数据库并将输出保存为管道分隔的csv 我希望输出以制表符分隔,而不是管道分隔,因为我最终会将csv导入Access。有人知道如何做到这一点吗 当前代码:Postgresql 使用批处理脚本将以管道分隔的csv转换为以制表符分隔的csv,postgresql,batch-file,Postgresql,Batch File,我正在尝试编写一个批处理脚本,该脚本将查询Postgres数据库并将结果输出到csv。目前,它查询数据库并将输出保存为管道分隔的csv 我希望输出以制表符分隔,而不是管道分隔,因为我最终会将csv导入Access。有人知道如何做到这一点吗 当前代码: cd C:\Program Files\PostgreSQL\9.1\bin psql -c "SELECT * from jivedw_day;" -U postgres -A -o sample.csv cscanalytics postgr
cd C:\Program Files\PostgreSQL\9.1\bin
psql -c "SELECT * from jivedw_day;" -U postgres -A -o sample.csv cscanalytics
postgres=用户名
cscalytics=数据库您应该使用它来转储CSV:
psql -c "copy jivedw_day to stdout csv delimiter E'\t'" -o sample.csv -U postgres -d csvanalytics
分隔符E'\t'部分将使用制表符而不是逗号作为分隔符获取输出。还有其他选项,请参阅以了解更多详细信息
使用“仅将通常的交互式输出转储到sample.csv,而不使用常规填充使列对齐,这就是为什么您会看到管道:
-A
-不对齐
切换到未对齐的输出模式。默认输出模式以其他方式对齐
您应该使用来转储CSV:
psql -c "copy jivedw_day to stdout csv delimiter E'\t'" -o sample.csv -U postgres -d csvanalytics
分隔符E'\t'部分将使用制表符而不是逗号作为分隔符获取输出。还有其他选项,请参阅以了解更多详细信息
使用“仅将通常的交互式输出转储到sample.csv,而不使用常规填充使列对齐,这就是为什么您会看到管道:
-A
-不对齐
切换到未对齐的输出模式。默认输出模式以其他方式对齐