例如:
>>> 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()
我的熊猫系列的正确叫法是什么?有可能吗?
提前感谢!
发布于 2020-06-24 02:16:09
您应该动态构建SQL语句的IN
部分,生成(2324, 4323...)
并将其附加到SQL语句中。
如果您的DataFrame包含太多的值,您可以在SQL server端创建一个临时表,将DataFrame中的值插入到该临时表中,然后执行常规连接。
发布于 2020-06-24 03:35:35
您应该使用join
创建id列表,并使用f-string将该列表插入到查询中:
all_ids = df['id'].astype(str).agg(','.join)
query = client.query(f'''
SELECT *
FROM my_table
WHERE id IN ({all_ids})
''').to_dataframe()
https://stackoverflow.com/questions/62546491
复制