(Sql + Python) df 数组到带单引号的字符串?

(Sql + Python) df array to string with single quotes?

目标:如何将 Python 中的 sql 查询的 (111, 222, 333) 转换为 ('111', '222', '333')?

到目前为止我做了什么:

我正在将 csv 文件调用到 df: dataset = pd.read_csv('simple.csv') print(dataset)

列表 0 111 1 222 2 333

List11 = dataset.LIST.apply(str) print(List1)

0 111 1 222 2 333

名称:操作,数据类型:对象

myString = ",".join(List1) print(myString)

111,222,333

sql = "SELECT * FROM database WHERE list IN (%s)" %myString

这不起作用。你能帮忙吗?

请试试这个并验证它是否有帮助-

sql = "SELECT * FROM database WHERE list IN (%s)" % ",".join(map(myString,List1))

使用format():

list1 = ('111', '222', '333')
myString = ",".join("'{0}'".format(elem) for elem in list1)
print(myString)

给予

'111','222','333'

有可能有效。

myString = "','".join(List1)
sql = "SELECT * FROM database WHERE list IN ('%s')" %myString