Print a postgresql table to standard output in python
That \N
is the default textual representation of a null
value. It can be changed with the null
parameter of copy_to
To have the headers in the output use copy_expert
copy = "copy mytable to stdout with csv header delimiter '\t' null 'NULL'"
cursor.copy_expert(copy, sys.stdout)
don't have a postgress table handy to test this but does this work for you?
import psycopg2 as pg
import pandas as pd
import pandas.io.sql as psql
connection = pg.connect("dbname=postgres user=postgres password=psswd")
#my_table = pd.read_sql_table('table_name', connection)
my_table = pd.read_sql('select * from my-table-name', connection)
another_attempt= psql.read_sql("SELECT * FROM my-table-name", connection)
print(my_table)
# OR
print(another_attempt)