tweepyを使用してツイートをクロールしていて、データウェアハウスのデータをフォーマットしたいとします。dictでキー/値を追加するときに望ましくない "int to tuple"変換
以下の方法をツイートが受信されるたびに呼び出される。
def on_status(self, status):
statusAsDict= {
"text": status.text,
"created_at": status.created_at,
"language": status.lang,
"user": {
"id": status.author.id,
"name": status.author.name,
"screen_name": status.author.screen_name,
"verified": status.author.verified,
"favourites_count": status.author.favourites_count,
"followers_count": status.author.followers_count,
"friends_count": status.author.friends_count
}
}
if status.in_reply_to_status_id != None:
statusAsDict["in_reply_to_status_id"] = status.in_reply_to_status_id,
if status.in_reply_to_screen_name != None:
statusAsDict["in_reply_to_screen_name"] = status.in_reply_to_screen_name,
if status.coordinates != None:
statusAsDict["coordinates"] = status.coordinates,
if hasattr(status, "retweeted_status"):
statusAsDict["retweet"] = {}
statusAsDict["retweet"]["id"] = status.retweeted_status.id,
statusAsDict["retweet"]["user_id"] = status.retweeted_status.author.id,
statusAsDict["retweet"]["user_screen_name"] = status.retweeted_status.author.screen_name,
statusAsDict["retweet"]["user_verified"] = status.retweeted_status.author.verified,
statusAsDict["retweet"]["user_favourites_count"] = status.retweeted_status.author.favourites_count,
statusAsDict["retweet"]["user_followers_count"] = status.retweeted_status.author.followers_count,
statusAsDict["retweet"]["user_friends_count"] = status.retweeted_status.author.friends_count,
statusAsDict["retweet"]["retweet_count"] = status.retweeted_status.retweet_count,
statusAsDict["retweet"]["text"] = status.retweeted_status.text,
if status.in_reply_to_status_id != None:
print type(status.in_reply_to_status_id)
print type(statusAsDict["in_reply_to_status_id"])
print statusAsDict
それは次のステートメントを印刷:
<type 'int'>
<type 'tuple'>
{'language': u'en', 'text': u'@fuckitslrhafi7 @fuckitslrhafi rt this from ff and main acc for 50 https://....', 'created_at': datetime.datetime(2016, 3, 30, 12, 25, 10), 'in_reply_to_status_id': (715149454257442816,), 'in_reply_to_screen_name': (u'fuckitslrhafi7',), 'user': {'favourites_count': 55, 'screen_name': u'JOlNTZOUlS', 'friends_count': 29, 'followers_count': 16, 'verified': False, 'id': 3040734513, 'name': u'accs in bio'}}
それは
'in_reply_to_status_id': 715149454257442816
ない
なければなりません'in_reply_to_status_id': (715149454257442816,)
intからtupleへの変換を回避するにはどうすればよいですか?