
利用Python高效拆分大型Excel表格
本文介绍如何使用Python的openpyxl库将一个包含1000行数据的Excel表格拆分成十个,每个包含100行数据的Excel表格。 以下步骤将详细讲解代码实现过程:
步骤一:导入库并加载原始Excel文件
首先,导入必要的openpyxl库,并加载包含1000行数据的Excel文件。 请确保已安装openpyxl库 (可以使用pip install openpyxl安装)。 代码如下:
立即学习“Python免费学习笔记(深入)”;
<code class="python">import openpyxl
from openpyxl import load_workbook
wb = load_workbook("c:\users\asus\desktop\65\16097-16149陈晓西20220416.xlsx")
ws = wb['sheet1']</code>请将 "c:\users\asus\desktop\65\16097-16149陈晓西20220416.xlsx" 替换为你的Excel文件路径。
步骤二:数据提取和分组
接下来,提取Excel数据并根据需要进行分组。此例中,我们假设数据的第一列是ID,并根据ID将数据分组。
<code class="python">cus_data = {} # 用于存储提取的总数据,以ID为键
total = [] # 存储所有数据行
for x in range(3, ws.max_row + 1): # 从第三行开始读取数据 (假设前两行为标题行)
info_list = [] # 存储每一行数据
ids = ws['A' + str(x)].value # 获取ID
cus_data.setdefault(ids, []) # 创建ID对应的列表
for y in range(1, ws.max_column + 1): # 循环每一列
info_list.append(ws.cell(row=x, column=y).value)
total.append(info_list)
cus_data[ids].append(info_list)</code>步骤三:加载模板Excel文件
为了方便创建新的Excel文件,我们使用一个模板Excel文件。
<code class="python">wb_day = load_workbook("c:\users\asus\desktop\65\模板.xlsx")
ws_day = wb_day['temp']</code>请将 "c:\users\asus\desktop\65\模板.xlsx" 替换为你的模板文件路径。
步骤四:生成新的Excel文件
最后,根据分组后的数据,创建新的Excel文件。
<code class="python">for id, data in cus_data.items():
ws_new = wb_day.copy_worksheet(ws_day) # 复制模板工作表
ws_new.title = str(id) # 使用ID命名新工作表
for i, row_data in enumerate(data): # 循环每一行数据
for j, value in enumerate(row_data): # 循环每一列数据
ws_new.cell(row=i + 1, column=j + 1).value = value # 写入数据
wb_day.save(f"C:\Users\Asus\Desktop\65\{id}.xlsx") #保存为单独的文件</code>这段代码会为每个ID创建一个新的Excel文件,文件名即为ID。
步骤五:保存新的Excel文件
代码中已包含保存操作,每个ID对应的数据会保存到一个单独的Excel文件中。
这段改进后的代码更清晰、更易于理解,并且避免了不必要的循环和计数器,提高了代码效率。 记得替换文件路径为你的实际路径。 如果你的Excel文件结构不同,需要相应调整代码中的行号和列号。
以上就是如何使用Python将一个千行Excel表格拆分成十个百行表格?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号