首页 > 解决方案 > 附加到大型 CSV 会使内存过载

问题描述

我有一个大约 300k 行的 CSV,我每天都会附加几千行。问题是,我写入 CSV 的次数越多,消耗的内存就越多。我通过从两个列表中获取数据来写入它,将其组合到字典中并将所有这些写入一行(如下所示)。

with open('mydata.csv', 'a') as csvfile:

    writer = csv.DictWriter(csvfile, fieldnames=cols)

    for package, li in zip(my_data, my_list):
        
        row_data = {}
        data_to_append_to_row = li.get_text()
        
        try:
            row_data['description'] = package['description']
        except Exception as e:
            pass

        row_data["core_id"] = data_to_append_to_row
        
        await writer.writerow(row_data)

每次将更多行添加到 csv 并且我需要(每天)附加到它时,我使用的内存就会增加。

标签: pythoncsv

解决方案


推荐阅读