我有一个数据框(df),有700k个歌曲和艺术家的名字,我用这个列表从LyricWikia检索歌词。不过,我一次只能要5000首歌。
我想多次运行一个上限为5000个调用的查询,并将结果输出到一个或多个csv中。
我现在有一段代码可以下载,直到我达到5000的上限。我希望它在5000之前停止并重新运行代码并将其附加到现有的csv(或dataframe)中。在一个循环中,艺术家们基本上跳过了名字。
with open('lyrics-4.csv', 'w') as csv_file:
writer = csv.writer(csv_file)
for i, row in enumerate(df.itertuples(), 1):
lyrics = []
artist = row[2]
song = row[3]
try:
lyrics = lyricwikia.get_lyrics(artist, song)
except:
pass
writer.writerow([artist,song,lyrics])
为什么不使用for循环来分解成5000个块,而只使用pandas直接写入csv呢?在
或者,如果要附加到同一个csv文件:
^{pr2}$编辑:
相关问题 更多 >
编程相关推荐