exceptions.TypeError:当我使用python从sqlite3中选择数据时,无法调用“str”对象

exceptions.TypeError:当我使用python从sqlite3中选择数据时,无法调用“str”对象,python,sqlite,Python,Sqlite,这里调用这个方法 item_date = item['time_y_m_d'] self.sqlite_manger._select_table_by_name(item_date) 这里的表格名称是中文字符,用utf-8编码 我在运行程序时遇到以下错误: File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-int

这里调用这个方法

item_date = item['time_y_m_d']
self.sqlite_manger._select_table_by_name(item_date)
这里的表格名称是中文字符,用utf-8编码

我在运行程序时遇到以下错误:

File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 578, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/Users/zhang/Programs/Python/news/baidu_news/baidu_news/pipelines.py", line 44, in process_item
if self.sqlite_manger._select_table_by_name(item_date):
File "/Users/zhang/Programs/Python/news/baidu_news/baidu_news/sqlite_manager.py", line 62, in _select_table_by_name
c.execute("select * from sqlite_master where name='%s'" % item_date)
exceptions.TypeError: 'str' object is not callable
以下是我的创建表sql:

def _create_table_by_date(self,date):
    print 'create table %s' % date
    self.conn.execute(" create table '%s' (p_id integer, title text, link text primary key, source text, time_y_m_d text, time_h_m text)" % date)
    self.conn.commit()
我使用SQLite3和Python2.7.9,我在上面的Scrapy项目中使用了这段代码。 以下是例外情况:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Scrapy-0.24.4-py2.7.egg/scrapy/middleware.py", line 62, in _process_chain
    return process_chain(self.methods[methodname], obj, *args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Scrapy-0.24.4-py2.7.egg/scrapy/utils/defer.py", line 65, in process_chain
    d.callback(input)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 383, in callback
    self._startRunCallbacks(result)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 491, in _startRunCallbacks
    self._runCallbacks()

--- <exception caught here> ---
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 578, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/Users/zhang/Programs/Python/news/baidu_news/baidu_news/pipelines.py", line 39, in process_item
    r = self.sqlite_manger._select_key_word(self.word)
  File "/Users/zhang/Programs/Python/news/baidu_news/baidu_news/sqlite_manager.py", line 51, in _select_key_word
    c.execute("select * from category where title='%s'" % word)
exceptions.TypeError: 'str' object is not callable

我做错了什么?

在“c.execute”中。。。。强制转换exceptionexceptions.TypeError:“str”对象不可调用能否提供表名和相关错误输出?我用中文名称创建表没有问题。@user3467349表名是2015年03月07日File/Users/zhang/Programs/Python/news/baidu\u news/pipelines.py,第44行,如果self.sqlite\u manager,则为进程中的项目。按名称选择表项目日期:File/Users/zhang/Programs/Python/news/baidu\u news/baidu\u news/sqlite\u manager.py,第62行,在_select_table_by_name c.executeselect*from sqlite_master,其中name='%s'%tablename exceptions.TypeError:'str'对象不可调用是的,我刚刚尝试创建此表并使用您的查询。您正在做其他错误的事情-如果没有错误输出,我无法判断。请编辑您的问题并使用代码块,同时添加sqlite和python版本。
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Scrapy-0.24.4-py2.7.egg/scrapy/middleware.py", line 62, in _process_chain
    return process_chain(self.methods[methodname], obj, *args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Scrapy-0.24.4-py2.7.egg/scrapy/utils/defer.py", line 65, in process_chain
    d.callback(input)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 383, in callback
    self._startRunCallbacks(result)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 491, in _startRunCallbacks
    self._runCallbacks()

--- <exception caught here> ---
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Twisted-15.0.0-py2.7-macosx-10.6-intel.egg/twisted/internet/defer.py", line 578, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/Users/zhang/Programs/Python/news/baidu_news/baidu_news/pipelines.py", line 39, in process_item
    r = self.sqlite_manger._select_key_word(self.word)
  File "/Users/zhang/Programs/Python/news/baidu_news/baidu_news/sqlite_manager.py", line 51, in _select_key_word
    c.execute("select * from category where title='%s'" % word)
exceptions.TypeError: 'str' object is not callable