我在python中使用pymysql来处理mysql服务器,并且需要对不同列进行交叉引用。
为此,我在python中应用了一个for循环,使用
for i in range(10):
sqlstat = 'select refs from `pcite` where id = id_paper(i) ;'但这不管用。问题似乎在于迭代器i.有什么方法可以解决这个问题吗?
发布于 2017-03-28 09:36:01
正如我在评论中所说的,这与循环无关。只是你的代码不是代码,而是一个字符串。如果您需要一个字符串来包含调用函数的结果,那么您需要接受该字符串之外的调用,并插入结果:
sqlstat = 'select refs from `pcite` where id = {};'.format(id_paper(i))但是请注意,由于这是一个SQL语句,所以根本不应该插值值,而应该将它们传递给execute方法:
sqlstat = 'select refs from `pcite` where id = %s;'
cursor.execute(sqlstat, [format(id_paper(i)])https://stackoverflow.com/questions/43065602
复制相似问题