如何将循环结果存储在.csv中?(Python)

如何将循环结果存储在.csv中?(Python),python,csv,Python,Csv,我正在运行tweepy,我不知道如何将推文存储在csv文件中 for tweet in tweepy.Cursor(api.search,q=search+ lang="en").items(num_tweets): data = tweet.text print (tweet.text) import csv c = csv.writer(open("file.csv", "w")) c.writerow(data) csv.错误:应为iterable,而不是fl

我正在运行tweepy,我不知道如何将推文存储在csv文件中

for tweet in tweepy.Cursor(api.search,q=search+
    lang="en").items(num_tweets):

    data = tweet.text
    print (tweet.text)

import csv
c = csv.writer(open("file.csv", "w"))
c.writerow(data)
csv.错误:应为iterable,而不是float

我也试过浮动(数据),但不起作用

我的目标是将这些tweet存储在csv文件中,使其具有cool.api所需的格式

# batch example
cool.api([
    "I love Stack Overflow!",
    "Barack Obama is better at Twitter than Donald Trump."
])

简单的修复。传递给writer的参数必须是一个iterable(list、tuple等),这样它就可以将utrable中的每一项都写入cvs文件。因此,您只需将数据放入列表:

c.writerow([data])
您可能希望创建一个列表,并在遍历for循环时向其中添加tweet,或者每次编写一行新行

import csv
f = open("file.csv", "w")
c = csv.writer(f)
for tweet in tweepy.Cursor(api.search,q=search+
    lang="en").items(num_tweets):
    c.writerow([tweet.txt])
f.close()

.writerow
需要一个iterable,错误消息表明您正在向它传递一个
浮点值<代码>浮动(数据)
不会有帮助!查看
数据的数据类型
。看看你是否能弄清楚为什么它不是迭代器,以及如何将它转换为迭代器。我尝试了不同的方法,但只存储了一条tweet,使用pandas时,我将所有tweet都放在一行,但仍在使用分隔符。谢谢它甚至可以在附加模式下工作!谢谢我只需要[]分隔符。