Excel文件按照列内容进行分组

import pandas as pd

# 读取原始Excel文件
df = pd.read_excel(r'C:\Users\1\Desktop\DamaishujuStoreProductInfo.xlsx')

# 根据SiteAbbr列内容进行分组
groups = df.groupby('SiteAbbr')

# 遍历每个分组,生成新的Excel表格
for name, group in groups:
    # 创建新的Excel文件名
    output_filename = f'C:\\Users\\1\\Desktop\\{name}.xlsx'
    
    # 保存分组数据到新的Excel文件
    group.to_excel(output_filename, index=False)
  1. 使用pandas库中的read_excel()函数读取原始Excel文件,存储在DataFrame类型的变量df中。
  2. 根据SiteAbbr列的内容对DataFrame进行分组,groups是一个以SiteAbbr列的唯一值为键,以该唯一值所对应的行为值的字典。
  3. 遍历每个分组,在指定的路径创建一个新的Excel文件名,并将分组的数据保存到新的Excel文件中。具体操作如下:
    • 通过groupby()函数后,得到了以SiteAbbr列唯一值为分组的DataFrameGroupBy对象,可以使用其.to_excel()方法将分组后的数据写入到Excel文件中;
    • 使用f-string(Python 3.6及以上版本)构造新Excel文件的路径和文件名;
    • index=False参数用于不保存DataFrame索引,只保存数据。

你可能感兴趣的:(excel,python)