要使用Python拆分Excel表格,你可以使用 `pandas` 和 `openpyxl` 库。以下是一个简单的示例,展示了如何根据指定的列值将Excel表格拆分成多个工作表:
import pandas as pd
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
读取需要拆分的Excel文件
file_path = 'D:/data/全国订单.xlsx'
df = pd.read_excel(file_path)
创建一个新的Excel工作簿
wb = Workbook()
ws = wb.active
根据“省份”列内容拆分成多个工作表
for category in df['省份'].unique():
df_category = df[df['省份'] == category]
ws = wb.create_sheet(title=category)
for r in dataframe_to_rows(df_category, index=False, header=True):
ws.append(r)
保存工作簿
output_file = 'D:/data/aa.xlsx'
wb.save(output_file)
请确保将 `file_path` 替换为你的Excel文件路径,并根据需要更改 `output_file` 变量。这个示例代码会读取Excel文件,并根据“省份”列的不同值创建多个工作表,每个工作表包含对应省份的数据。
如果你需要按照行数来拆分Excel表格,可以使用以下代码:
import pandas as pd
读取Excel文件
file_path = 'D:/Disc/123.xlsx'
df = pd.read_excel(file_path)
计算总行数
total_rows = len(df)
定义每行的文件数量
rows_per_file = 1000
计算需要拆分的文件数量
num_files = (total_rows // rows_per_file) + (1 if total_rows % rows_per_file != 0 else 0)
拆分数据并保存到新的Excel文件
for i in range(num_files):
start_row = i * rows_per_file
end_row = (i + 1) * rows_per_file
split_df = df.iloc[start_row:end_row]
output_file = f'output_{i + 1}.xlsx'
split_df.to_excel(output_file, index=False)
这段代码会将Excel文件按照每1000行拆分成多个文件。请根据你的需求调整 `rows_per_file` 的值。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/108533.html