我正试图将Postgres数据库中的一些数据复制到ByteArrayOutputStream
对象中,因此我使用库org.postgresql.copy.CopyManager
:的copyManager
this.copyManager.copyOut("copy ("+sqlQuery+") TO STDOUT encoding 'WIN1252' " , bo)**
所有这些都很好,除非我有一些带有制表符的数据,比如- abcd
,当它复制时,它用t
替换它,所以我得到的结果是-tabcd
。
你能帮我吗?
您不需要默认的text
格式,您需要CSV:
COPY tab TO STDOUT (FORMAT 'csv', ENCODING 'WIN1252');
使用psycopg2,使用copy_expert
,thich允许您指定COPY
SQL语句将所有您想要的选项。
为了避免转义字符(默认情况下为"
(,请使用数据中未出现的分隔符:
COPY tab TO STDOUT (FORMAT 'csv', ENCODING 'WIN1252', DELIMITER '|');