如何通过代码实例展示批量处理减少磁盘I/O?
时间: 2024-12-10 11:35:43 浏览: 12
批量处理通常用于将大的数据集分割成较小的批次进行处理,这样可以减少单次读取或写入磁盘的次数。下面是一个简单的例子,使用Python的`csv`模块和`pandas`库来演示批量读取CSV文件:
```python
import pandas as pd
# 假设有一个大文件data.csv
chunksize = 10000 # 每批读取10000行数据
chunks = []
for chunk in pd.read_csv('data.csv', chunksize=chunksize):
# 在这里对每一小块数据进行处理,例如计算平均值
processed_chunk = chunk.mean()
# 然后你可以保存每一块处理后的结果到临时文件,而不是一次性保存所有
with open(f'processed_data_{len(chunks)}.csv', 'a') as f:
processed_chunk.to_csv(f, header=False if len(chunks) == 0 else None)
```
在这个例子中,我们不会一次性把整个文件读入内存,而是每次读取一部分(`chunksize`大小),处理后再写回文件。这有助于减少磁盘I/O操作。
阅读全文