📅  最后修改于: 2023-12-03 15:10:49.099000             🧑  作者: Mango
在数据分析或数据处理中,我们通常需要将一个大的数据框拆分成多个小的数据框或 Excel 文件。下面介绍一种Python的实现方式,可以通过指定列值自动将 pd 数据框拆分为多个 Excel 文件。
import pandas as pd
from openpyxl import Workbook
在示例中我们使用了一个包含国家/地区、数量和销售额的数据框。
data = {
'Country': ['China', 'China', 'USA', 'USA', 'USA', 'Japan', 'Japan'],
'Quantity': [3, 5, 2, 4, 1, 9, 2],
'Sales': [1100, 1850, 950, 1620, 400, 3200, 780]
}
df = pd.DataFrame(data)
我们可以使用 Pandas 的 groupby 函数根据列值进行分组,并将每个分组转换为 Excel 文件。
# 将数据框按照 Country 分组
groups = df.groupby('Country')
# 遍历分组并写入 Excel 文件
for name, group in groups:
# 新建 Excel 文件
wb = Workbook()
ws = wb.active
# 写入数据
rows = group.to_records(index=False)
for row in rows:
ws.append(row)
# 保存 Excel 文件
wb.save(f'{name}.xlsx')
以上代码可以将数据框拆分成三个 Excel 文件:China.xlsx、Japan.xlsx 和 USA.xlsx。每个文件中包含相应国家的数据。
以上介绍了如何在 Python 中根据列值将 pd 数据框拆分为多个 Excel 文件。该方法适用于需要将大型数据框拆分为多个文件的场景,同时也为数据清洗、分析提供了更多的灵活性。