检查以下代码并修改:import csv import random import datetime fn = 'data.csv' with open(fn, 'w') as fp: # 创建 csv 文件写入对象 wr = csv.writer(fp) # 写入表头 wr.writerow(['日期', '营业额']) # 生成模拟数据 startDate = datetime.date(2022, 1, 1) # 生成 365 个模拟数据 for i in range(365): # 生成一个模拟数据,写入 csv 文件 amount = 500 + i*5 + random.randrange(100) wr.writerow([str(startDate), amount]) # 下一天 startDate = startDate + datetime.timedelta(days=1)
时间: 2024-03-22 07:36:49 浏览: 49
dataclass-csv:将CSV映射到数据类
这段代码的问题在于每次写入 csv 文件时都会打开和关闭文件,这样会影响性能。建议使用 `csv.writerows()` 方法一次性写入所有数据,避免了多次打开和关闭文件。
以下是修改后的代码:
```python
import csv
import random
import datetime
fn = 'data.csv'
# 生成模拟数据
startDate = datetime.date(2022, 1, 1)
data = []
for i in range(365):
amount = 500 + i*5 + random.randrange(100)
data.append([str(startDate), amount])
startDate = startDate + datetime.timedelta(days=1)
# 写入 csv 文件
with open(fn, 'w') as fp:
wr = csv.writer(fp)
wr.writerow(['日期', '营业额'])
wr.writerows(data)
```
这样就可以避免多次打开和关闭文件,提高了性能。
阅读全文