【问题标题】:Why only the first dictionary get written in the csv file?为什么只有第一个字典被写入 csv 文件?
【发布时间】:2023-03-17 06:22:01
【问题描述】:

我使用IMDbPY 库获取例如 100 部电影信息并将它们存储在 csv 文件中。问题是只有循环中的第一部电影信息会写入 csv 文件。

这里是代码:

from imdb import IMDb
import csv
from datetime import datetime

startTime = datetime.now()

ia = IMDb()
movie_id = 2250912

for i in range(1, 101):
    movie = ia.get_movie(movie_id)
    movie_id += i

    print(datetime.now() - startTime)
    print (movie_id)
    print ('\n')

    with open('dict.csv', 'w') as csv_file:
        writer = csv.writer(csv_file)

        for key, value in movie.items():
            writer.writerow([key, value])

【问题讨论】:

  • w 标志用于writing。所以基本上你的文件每次都会被覆盖 100 次丢失以前的数据。要保留以前的数据,请使用代表 appenda 标志。

标签: python python-3.x file csv io


【解决方案1】:

您的 with 语句在 while 循环的每次迭代中都会覆盖 csv。使用'a' 而不是'w',以便附加信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2018-08-19
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多