我写了以下代码。我很快就能让它工作了,我几乎可以闻到它的味道。在
我正在使用mysql.connector,tweepy,python3.2和xampp堆栈。我正在创建一个独特的表来保存用户最近的3200条推文。我在循环中运行它,我可以将所有结果打印到屏幕上;绝对没有问题。当我试图写入MYSQL数据库时,问题就出现了。表创建得很好,列也是如此。在
编辑:
在@Yarkee和@bernie的帮助下,我将其编辑为以下内容:
tweet_created_date = str(tweet.created_at)
list = [tweet.id, tweet.text, tweet_created_date,
tweet.geo, tweet.contributors, tweet.coordinates,
tweet.favorited, tweet.in_reply_to_screen_name,
tweet.in_reply_to_status_id, tweet.in_reply_to_status_id_str,
tweet.in_reply_to_user_id, tweet.in_reply_to_user_id_str,
tweet.place, tweet.retweeted, tweet.retweet_count,
tweet.source, tweet.truncated]
sql = ("""INSERT INTO %(table_name)s (tweet_id, tweet_text,
tweet_created_at, tweet_geo, tweet_contributors,
tweet_coordinates, tweet_favorited,
tweet_in_reply_to_screen_name, tweet_in_reply_to_status_id,
tweet_in_reply_to_status_id_str, tweet_in_reply_to_user_id,
tweet_in_reply_to_user_id_str, tweet_place,
tweet_retweeted, tweet_retweet_count, tweet_source,
tweet_truncated) VALUES (%s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s)""" % dict(table_name=table_name))
cursor.execute(sql, list)
我现在有一个TypeError: not enough arguments for format string
有什么想法吗?在
您需要将
'%s'
转义为'%%s'
。在MySQLdb使用
%s
参数样式,例如:(%s,%s,%s)
。它不使用?
参数样式。参考号:http://mysql-python.sourceforge.net/MySQLdb.html最终代码如下。表名是由当前unix时间值和用户的屏幕名称的组合单独生成的。在
非常感谢你所给予的一切帮助,我希望这对将来的某个人有所帮助。在
相关问题 更多 >
编程相关推荐