Как-то так?
from sqlalchemy.dialects import postgresql
x = [["Nissan Motor", "Carlos Ghosn"], ["Nissan Motor", "Carlos Ghosn"], [], ["David Muir", "Trio"], [], [],[]]
df = pd.DataFrame({"data": x})
df.to_sql(con = "connection_string", name = "table_name", schema = "schema_name", if_exists="replace", dtype={'data': postgresql.JSONB}, index = False)
Чтение обратно:
q = "select * from schema.table_name"
df = pd.read_sql(q, con="connection_string")
print(df)
Вывод:
data
0 [Nissan Motor, Carlos Ghosn]
1 [Nissan Motor, Carlos Ghosn]
2 []
3 [David Muir, Trio]
4 []
5 []
6 []
Используется JSONB