python将数据量为7万多条的xls文件中的数据拆成工作表,每个工作表含数据量为5000条,存入新的xls文件中
时间: 2024-11-13 12:20:16 浏览: 8
在Python中,你可以使用pandas库来进行这种操作。Pandas提供了一个强大的DataFrame结构,非常适合处理Excel文件。以下是步骤:
首先,确保已安装`pandas`, `openpyxl`以及`xlsxwriter`库。如果没有,可以使用pip安装:
```bash
pip install pandas openpyxl xlsxwriter
```
然后,你可以按照以下代码示例来拆分大文件:
```python
import pandas as pd
# 读取大文件
df_large = pd.read_excel('input_file.xls', engine='openpyxl')
# 确定工作表数量 (假设总行数除以5000取整)
num_of_sheets = len(df_large) // 5000 + int(len(df_large) % 5000 > 0)
# 创建新文件并初始化writer
output_filename = 'output_files'
workbook = xlsxwriter.Workbook(f'{output_filename}.xls')
for sheet_idx in range(num_of_sheets):
# 每个工作表的数据范围
start_row = sheet_idx * 5000
end_row = min(start_row + 5000 - 1, len(df_large))
# 切片获取当前工作表数据
df_split = df_large.iloc[start_row:end_row]
# 写入新的工作表
worksheet = workbook.add_worksheet(f'Sheet{sheet_idx+1}')
df_split.to_excel(worksheet, index=False)
# 保存所有工作簿
workbook.close()
```
这段代码会读取原始的大文件,将其分割成指定大小的工作表,并分别保存到单独的新文件中。
阅读全文