python分块读取csv文件并进行统计
时间: 2024-12-27 15:29:06 浏览: 3
### Python 分块读取 CSV 文件并进行统计
为了高效处理大型CSV文件,可以利用 `pandas` 库中的 `read_csv()` 函数配合 `chunksize` 参数实现分块读取。这种方式能够显著减少内存占用,并允许逐步处理数据。
#### 导入库
首先需要导入必要的库:
```python
import pandas as pd
```
#### 定义函数以分块读取和统计
定义一个函数用于按指定大小分块读取CSV文件并对每一列求和作为统计示例:
```python
def process_large_csv(file_path, chunk_size=10 ** 6):
# 初始化总和字典存储各列累计值
column_sums = {}
# 使用迭代器逐块读取CSV文件
for chunk in pd.read_csv(file_path, chunksize=chunk_size):
# 对当前块内数值型列求和
sums = chunk.select_dtypes(include=['float64', 'int']).sum()
# 更新总体累积和
for col_name, value in sums.items():
if col_name not in column_sums:
column_sums[col_name] = 0
column_sums[col_name] += value
return column_sums
```
此代码片段展示了如何通过设置 `chunksize` 来控制每次加载到内存的数据量[^4]。对于特别大的文件来说,这种方法能有效防止一次性载入过多数据而导致内存溢出。
调用上述函数即可获得整个CSV文件中所有数值字段的累加结果:
```python
file_path = "path/to/large_file.csv"
result = process_large_csv(file_path)
print(result)
```
阅读全文