2011-12-15 62 views
1

我想寫一個批處理腳本來查詢Postgres數據庫並將結果輸出到csv。目前,它查詢數據庫並將輸出保存爲管道分隔的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 =用戶名 cscanalytics =數據庫

回答

4

您應該使用COPY轉儲CSV:

psql -c "copy jivedw_day to stdout csv delimiter E'\t'" -o sample.csv -U postgres -d csvanalytics 

delimiter E'\t'部分將讓你與你的輸出製表符而不是逗號作爲分隔符。還有其他選項,請參閱the documentation瞭解更多詳情。

使用-A like you are只是轉儲通常的交互輸出到sample.csv不正常的填充,以使列排隊,這就是爲什麼你看到的管道:

-A
--no對齊
切換到未對齊的輸出模式。 (默認輸出模式以其他方式對齊。)

相關問題