我在Postgresql中有一个名为mytable的表,我需要将该表的内容从python应用程序打印到stdout。
我目前正在执行以下操作:
conn = psycopg2.connect("dbname=postgres user=postgres password=psswd")
cur = conn.cursor()
cur.copy_to(sys.stdout,'mytable',sep = '\t')
Run Code Online (Sandbox Code Playgroud)
但是,当它打印在某些列之间时,会出现一些“ \ N”。我相信发生这种情况的原因是,在打印过程中的某处,该行超出了并转到psql终端中的下一行,因此出现这些\ N。
输出:
E0307 1 M 400 Ethan UTDallas 12.98580404 \N 50.79403657 1
E0307 1 M 400 Lucas Baylor 15.18511175 \N 56.87285183 3
E0307 1 M 400 Jackson Baylor 13.64228411 \N 56.87285183 3
E0307 1 M 400 Jacob Baylor 13.19878974 \N 56.87285183 3
E0307 1 M 400 Samuel Baylor 14.84666623 \N 56.87285183 3
Run Code Online (Sandbox Code Playgroud)
我的问题如下:
如何摆脱输出中的\ N?有其他打印表格的方法吗?我试图避免必须执行整个“ SELECT * FROM my_table”查询的方式。只是使用要打印的表格名称的东西。
另外,在打印时如何获取表格标题?我尝试了以下方法:
cur.execute(“使用csv标头将mytable复制到STDOUT”)
我收到此错误消息:
ProgrammingError: can't …Run Code Online (Sandbox Code Playgroud)