Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 使用批处理脚本将以管道分隔的csv转换为以制表符分隔的csv_Postgresql_Batch File - Fatal编程技术网

Postgresql 使用批处理脚本将以管道分隔的csv转换为以制表符分隔的csv

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

我正在尝试编写一个批处理脚本,该脚本将查询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
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 -不对齐 切换到未对齐的输出模式。默认输出模式以其他方式对齐