python - 如何将 psycopg2 copy_expert() 输出重定向到变量?

标签 python stdout psycopg2

我想处理表的 csv 数据而不是将其写入文件。如何重定向 psycopg2 copy_expert()到一个变量中,有点像这样:

var1 = cur.copy_expert("COPY test TO STDOUT WITH CSV HEADER", sys.stdout)

最佳答案

直接替换 sys.stdout 比将 sys.stdout 重定向到变量更容易:

text_stream = io.StringIO()
cur.copy_expert("COPY test TO STDOUT WITH CSV HEADER", text_stream)
var1 = text_stream.getvalue()

这是有效的,因为io.StringIO返回一个file objectcopy_expert 期望第二个参数。

关于python - 如何将 psycopg2 copy_expert() 输出重定向到变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33308053/

相关文章:

python - 如何在命令函数调用中避免全局变量

python - 设置 DateTimeField 的最小值

node.js - 通过管道将二进制文件从 stdout 传输到 http 响应

python - 检测 OS X 中挂起的 python shell

python - psycopg2.操作错误: fe_sendauth: no password supplied

python - 在 Mac 上用 Python 打开一个 txt 文件

Python。将标准输出重定向到套接字

python - Libssl 和 libcrypto 导致 dyld : Library not loaded:/usr/lib/libpq. 5.dylib

python - PostgreSQL 和 psycopg2 : database does not exist

python - 计算表中每 x 行的平均值并创建新表