Pandas 如何从一个查询向下一个查询提供输出

Pandas 如何从一个查询向下一个查询提供输出,pandas,pymssql,Pandas,Pymssql,如何从一个查询向下一个查询提供输出 My out数据库mysql\u db,employee表我将获得id 从员工中选择id df['out'] id 0 20017 1 20046 2 20047 ... ... 24337 47883 24338 47884 从表1中获取id并应用于mysql\u db2employee表,无论其是否存在 select * from employee where id i

如何从一个查询向下一个查询提供输出

My out数据库
mysql\u db
,employee表我将获得id
从员工中选择id

df['out']

         id
0        20017
1        20046
2        20047
...        ...
24337    47883
24338    47884
从表1中获取id并应用于
mysql\u db2
employee表,无论其是否存在

select * from employee where id in ('df['out']')

如果您无法联接这两个表,因为它们位于不同的数据库中,我将操作一个值为
df['out']
的字符串,如下所示:

valid_employee_ids = tuple(df['out'])
cmd = f"""
   SELECT
     *
   FROM
     employee
   WHERE
     id IN {valid_employee_ids}
"""
cmd = "SELECT * FROM employee WHERE id IN {}".format(valid_employee_ids)
这将为您提供以下字符串:

SELECT
  *
FROM
  employee
WHERE
  id IN (20046, 20047, 47883, 47884)

关于f-strings的注意事项:上面的字符串操作使用的是从Python 3.5开始才可用的字符串操作。或者,您也可以这样使用:

valid_employee_ids = tuple(df['out'])
cmd = f"""
   SELECT
     *
   FROM
     employee
   WHERE
     id IN {valid_employee_ids}
"""
cmd = "SELECT * FROM employee WHERE id IN {}".format(valid_employee_ids)

我不确定那个错误是从哪里来的。。有没有可能你忘了f字串?当您键入
print(cmd)
时,您会得到什么?他可能在Python 2上,或者在
fstrings
之前的版本中,可能会添加
.format
以涵盖这两个用例?