In[1]:secucode
Out[1]:('002604',
'002645',
'002702',
'002771',
'300205',
'300264',
'300322')
In[2]: type(secucode)
Out[2]: tuple
In[3]:sql_date = "SELECT B.ListDate FROM SecuMain A,LC_AShareIPO B WHERE A.InnerCode = B.InnerCode AND A.SecuCode in %s" % secucode
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-42-3c7a28973a6f> in <module>()
----> 1 sql_date = "SELECT B.ListDate FROM SecuMain A,LC_AShareIPO B WHERE A.InnerCode = B.InnerCode AND A.SecuCode in %s" % secucode
TypeError: not all arguments converted during string formatting
查询一堆股票的上市时间,所以用了in,secucode类型为tuple,但是查询会报错,求问该怎么解决
问题很简单,提示 secucode 不是字符串。
直接 str(secucode) 即可
sql_date = "SELECT B.ListDate FROM SecuMain A,LC_AShareIPO B WHERE A.InnerCode = B.InnerCode AND A.SecuCode in %s" % str(secucode)
Update:
推荐使用 str.format, 会自动 str
In [6]: a = ('sdf', 'sdf')
In [7]: '{}'.format(a)
Out[7]: "('sdf', 'sdf')"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。