我正在用 python 和 twitter 做一个小脚本,它工作正常,除了一件小事。
当我导入某个用户的推文的 id 时,我将它们打印出来,看看我是否得到了正确的信息,当我打印出来时,它是这样的:
330090997180665856
(来自 cnn 的一些随机推文。)但是,我使用 texttable 将它们打印到我收到的每条推文的转发计数旁边的表格中,这也很好。然而,在推文 ID 所在的列中,它是这样的:
3.301e+17
我假设这是因为 python 将其识别为 long 并出于某种原因将其变为浮点数。在将其附加到推文列表之前,我将其转换为字符串或 int,但问题仍然存在,我不知道该怎么办,我尝试过 long(tweet_id) 但那没有也不行。
可能有一些非常简单的解决方案,但我没有找到任何解决方案:/
编辑:这就是我的代码的样子:一些 OAuth 之前但没有把它放在这里
def main():
USER_ID = raw_input("Enter User Id: ")
COUNT = input("How many tweets to analyze: ")
OUT_FILE_NAME = OUT_DIR + 'output_file_test' + USER_ID + '.txt'
tweet_list = []
retweet_count_list = []
total_retweets = 0
#tweet_cursors = Cursor(api.user_timeline, id = USER_ID).items(COUNT)
while True:
try:
for tweet_cursor in Cursor(api.user_timeline, id = USER_ID).items(COUNT):
print "cursoring"
x = str(tweet_cursor.id)
tweet_list.append(x)
print x
y = tweet_cursor.retweet_count
retweet_count_list.append(y)
print y
total_retweets = total_retweets + y
break
except TweepError, e:
some error handling
avg_retweet = total_retweets / COUNT
print "The Average retweets per tweet was: "
print avg_retweet
header = ["Tweet Id", "Retweet Amount"]
tab.header(header)
tab.set_cols_width([30,30])
for i in range(0, COUNT):
one = str(tweet_list[i])
two = str(retweet_count_list[i])
tab.add_row([one, two])
output_table = tab.draw()
print output_table