我建立了一个对熊猫感兴趣的价值观列表。
table1 = pd.read_csv("logswithIPs.csv")
cips = data_dash['ip'].unique().tolist()
print(cips[:10])
['111.111.111.111', '123.123.123.123', '122.122.122.122', '2.2.2.2', '3.3.3.3', '4.4.4.4', '5.5.5.5'...'']
现在我有了上面的列表,我想看看这些 IP 是否存在于我的 SQL 数据库的表中。
filterIPs = pd.read_sql("select count(*) as count, url from "+table2+" where c_ip in "+cips+" group by url",conn)
具体来说,我的问题在于我的语法c_ip in "+cips+"
:
TypeError: Can't convert 'list' object to str implicitly
如何在 mySQL 查询中正确包含该列表?
***EDIT
所以我终于让它工作了,看起来 pandas 不需要一个列表,它需要一个字符串。
So I
cipTup = tuple(cips)
。
然后在我的查询中我做了..
where c_ip in "+str(cipTup)"
它起作用了。
我的猜测是 pandas 知道如何将这样的字符串视为列表。?