【问题标题】:(Sql + Python) df array to string with single quotes?(Sql + Python)df数组到带单引号的字符串?
【发布时间】:2018-03-28 17:49:03
【问题描述】:

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

到目前为止我做了什么:

我将 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

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

【问题讨论】:

    标签: python sql arrays string quote


    【解决方案1】:

    使用format():

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

    给予

    '111','222','333'
    

    【讨论】:

    • 在我获得一份清单后——它就像一个魅力! :) dataset['LIST'].values.tolist() 非常感谢!
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      它有可能会起作用。

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

      【讨论】:

        猜你喜欢
        • 2022-10-24
        • 2013-06-05
        • 1970-01-01
        • 1970-01-01
        • 2015-03-25
        • 2012-09-03
        • 2017-02-26
        • 1970-01-01
        相关资源
        最近更新 更多