【问题标题】:How can I use a Python List in a SQL Where IN Clause?如何在 SQL Where IN 子句中使用 Python 列表?
【发布时间】:2022-01-02 20:52:01
【问题描述】:

我有一个包含几列和 800 条记录的 CSV 文件,其中一列是我需要在 SQL 查询中过滤的变量。

_

我曾考虑将 CSV 作为数据框读取,->

然后从那个 DF 中获取一个列表,->

然后使用WHERE X IN (List[0]','List[1]','[List[2']....)中的列表

_

如何用 Python 做到这一点?

谢谢

【问题讨论】:

标签: python sql pandas where-clause


【解决方案1】:

感谢@wilian,但我的意思是我怎么能用 python 做到这一点,因为我不知道,除了要使用哪个库

我想出了一个办法:

将我的 csv 文件导入数据框

df = pd.read_csv(path)

然后我列出了我需要的列

list = df['list'].tolist()

然后我把那个列表变成了一个字符串

list1 = """' , '""".join([str(item) for item in list])
list2 = "'" + list1[:] + "'" + list1[0:0]

需要这样做,因为 SQL Where X IN ('') 子句需要用 ' 和逗号编写

然后我得到一个这样的字符串

list2 = 'a','b','c'

然后我使用 f'string 使用 pandas 的 read_sql

query = f"SELECT * FROM table WHERE X IN ({list2})"

result = pd.read_sql(query,conn)

【讨论】:

    猜你喜欢
    • 2016-05-15
    • 2020-07-15
    • 2013-10-16
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2023-03-06
    相关资源
    最近更新 更多