例如:
>>> df['id'] >>> 1 2324 2 4323 3 4321 4 1232 n .... ... >>> query = client.query(''' SELECT * FROM my_table WHERE id IN (df['id']) ''').to_dataframe()
什么是正确的方式来称呼我的Pandas系列?有可能吗?提前谢谢!
pes8fvy91#
您应该动态地构建 IN sql语句的一部分并生成 (2324, 4323...) 并将其附加到sql语句中。如果dataframe包含的值太多,可以在sqlserver端创建一个临时表,将dataframe中的值插入到临时表中,然后执行常规联接。
IN
(2324, 4323...)
xa9qqrwz2#
你应该使用 join 要创建id列表和f字符串以将该列表插入查询,请执行以下操作:
join
all_ids = df['id'].astype(str).agg(','.join) query = client.query(f''' SELECT * FROM my_table WHERE id IN ({all_ids}) ''').to_dataframe()
2条答案
按热度按时间pes8fvy91#
您应该动态地构建
IN
sql语句的一部分并生成(2324, 4323...)
并将其附加到sql语句中。如果dataframe包含的值太多,可以在sqlserver端创建一个临时表,将dataframe中的值插入到临时表中,然后执行常规联接。
xa9qqrwz2#
你应该使用
join
要创建id列表和f字符串以将该列表插入查询,请执行以下操作: