Я пытаюсь сохранить некоторые таблицы, которые я создаю в своем коде, в экземпляре RDS с помощью psycopg2. Скрипт работает без проблем, и я вижу, что таблица правильно хранится в БД. Однако, если я попытаюсь получить запрос, я вижу только столбцы, но не данные:
import pandas as pd
import psycopg2
test=pd.DataFrame({'A':[1,1],'B':[2,2]})
#connect is a function to connect to the RDS instance
connection= connect()
cursor=connection.cursor()
query='CREATE TABLE test (A varchar NOT NULL,B varchar NOT NULL);'
cursor.execute(query)
connection.commit()
cursor.close()
connection.close()
Этот скрипт работает без проблем и выводит file_check
из следующего скрипта:
connection=connect()
# check if file already exists in SQL
sql = """
SELECT "table_name","column_name", "data_type", "table_schema"
FROM INFORMATION_SCHEMA.COLUMNS
WHERE "table_schema" = 'public'
ORDER BY table_name
"""
file_check=pd.read_sql(sql, con=connection)
connection.close()
Я получаю:
table_name column_name data_type table_schema
0 test a character varying public
1 test b character varying public
, что выглядит хорошо.
Однако, выполнив следующее:
read='select * from public.test'
df=pd.read_sql(read,con=connection)
вернет:
Empty DataFrame
Columns: [a, b]
Index: []
Кто-нибудь знает, почему это происходит? Я не могу обойти это