python - 附加到大型 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 并且我需要(每天)附加到它时,我使用的内存就会增加。