你可以使用 Pandas 库来处理这个问题。首先,你需要读取 Excel 文件并将其转换为 Pandas 的 DataFrame 对象:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('your_file.xlsx')

接下来,你可以根据列工序的值和物料编码PS的值进行相应的操作。首先,将工序相同且物料编码PS相同的位置进行合并,并对应的PS面积进行相加:

# 根据工序和物料编码PS进行分组
grouped_ps = df.groupby(['工序', '物料编码PS'])

# 合并位置并相加对应的PS面积
df_ps = grouped_ps.agg({'位置': lambda x: ','.join(x.unique()), 'PS面积': 'sum'}).reset_index()

# 合并物料描述PS并去除重复值
df_ps['物料描述PS'] = grouped_ps['物料描述PS'].unique().apply(lambda x: ', '.join(x[0])).reset_index()['物料描述PS']

然后,将工序列改为PS工序,位置改为PS位置:

# 修改工序列和位置
df_ps['工序'] = 'PS工序'
df_ps.rename(columns={'位置': 'PS位置'}, inplace=True)

接下来,对于物料编码SS的值,你可以进行类似的操作:

# 根据工序和物料编码SS进行分组
grouped_ss = df.groupby(['工序', '物料编码SS'])

# 合并位置并相加对应的SS面积
df_ss = grouped_ss.agg({'位置': lambda x: ','.join(x.unique()), 'SS面积': 'sum'}).reset_index()

# 合并物料描述SS并去除重复值
df_ss['物料描述SS'] = grouped_ss['物料描述SS'].unique().apply(lambda x: ', '.join(x[0])).reset_index()['物料描述SS']

然后,将工序列改为SS工序,位置改为SS位置:

# 修改工序列和位置
df_ss['工序'] = 'SS工序'
df_ss.rename(columns={'位置': 'SS位置'}, inplace=True)

最后,将PS和SS保存到不同的工作簿中:

# 创建新的Excel文件
writer = pd.ExcelWriter('new_file.xlsx')

# 将PS数据保存到新的工作簿中
df_ps.to_excel(writer, sheet_name='PS', index=False)

# 将SS数据保存到新的工作簿中
df_ss.to_excel(writer, sheet_name='SS', index=False)

# 保存并关闭Excel文件
writer.save()

这样,你就可以根据列工序的值和物料编码PS、SS的值进行相应的操作,然后将结果保存到不同的工作簿中。

Pandas 合并 Excel 数据:根据工序和物料编码分组并汇总

原文地址: https://www.cveoy.top/t/topic/nizg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录