python分块读取大文件csv,每块写入不同工作表,提高速度并发写入
时间: 2023-08-16 16:09:04 浏览: 221
可以使用Pandas的`read_csv()`和`to_excel()`函数来实现分块读取大文件csv,并将每块数据写入不同工作表的操作。
以下是一个示例代码:
```python
import pandas as pd
# 定义参数
chunksize = 100000 # 每块的行数
csv_file = 'large_file.csv'
excel_file = 'output.xlsx'
# 分块读取csv文件
reader = pd.read_csv(csv_file, chunksize=chunksize)
# 遍历每个块,并将每个块的数据写入不同的工作表
with pd.ExcelWriter(excel_file) as writer:
for i, chunk in enumerate(reader):
sheet_name = 'Sheet{}'.format(i+1)
chunk.to_excel(writer, sheet_name=sheet_name, index=False)
```
上述代码中,我们设置了每块的行数为`chunksize`,并使用`pd.read_csv()`函数将csv文件分块读取为多个DataFrame。然后,我们使用`pd.ExcelWriter()`函数创建一个ExcelWriter对象,并在每个块上循环,将每个块的数据写入不同的工作表,最终将所有工作表保存到一个Excel文件中。
这种方法可以提高速度,并且可以并发写入不同的工作表,因为每个块的数据是独立的。
阅读全文