我有两个列表,我想使用pandas.read_sql
将它们合并到一个sql表中。我尝试使用unnest
,但它给了我错误的输出。请尝试以下操作:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine(
"postgresql+psycopg2://postgres:password@localhost:5432/database"
)
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
# expected output
df_expected = pd.DataFrame({"list1": list1, "list2": list2})
# query
df_query = pd.read_sql_query(
"""
select *
from unnest(%(list1)s) as list1,
unnest(%(list2)s) as list2
""",
con=engine,
params={"list1": list1, "list2": list2},
)
# throws assertion error
assert df_query.equals(df_expected)
1条答案
按热度按时间gev0vcfq1#
您的原始查询:
因此,您要在两个
unnest
集合之间执行联接。您需要的内容: