![](/img/trans.png)
[英]How can I write output from a for loop in python into a csv-formatted file?
[英]How to write Python output to file from for loop?
我正在使用 Instaloader 包从 Instagram 抓取一些数据。
理想情况下,我希望抓取与特定主题标签相关的帖子。 我创建了下面的代码,它输出抓取的数据行,但我无法将此输出写入 .txt、.csv 或 .json 文件。
我尝试首先将循环输出附加到列表中,但该列表为空。 我输出到文件的努力也没有成功。
我知道我在这里遗漏了一步,请提供您的任何意见! 谢谢你。
import instaloader
import json
L= instaloader.Instaloader()
for posts in L.get_hashtag_posts('NewYorkCity'):
L.download_hashtag('NewYorkCity', max_count = 10)
with open('output.json', 'w') as f:
json.dump(posts, f)
break
print('Done')
查看您的代码,似乎间距可能有点偏。 当您使用带有“with”语句的 open 命令时,它会在文件对象上执行 try: / finally: 。
在您的情况下,您创建了一个代表此文件对象的变量 f 。 我相信如果您进行以下更改,您可以将 json 数据写入文件。
import instaloader
import json
L= instaloader.Instaloader()
for posts in L.get_hashtag_posts('NewYorkCity'):
L.download_hashtag('NewYorkCity', max_count = 10)
with open('output.json', 'w') as f:
f.write(json.dump(posts))
break
print('Done')
我确定您是有意这样做的,但是如果您在休息时的目标是只返回循环中的第一个值,您也可以进行此编辑
for posts in L.get_hashtag_posts('NewYorkCity')[0]:
这将返回列表中的第一项。
例如,如果您想要前 3 个,则可以执行 [:3]
请参阅有关Python 数据结构的本教程
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.