Python Pandas 合并 Excel 工作簿:基于工序和物料编码的面积、描述和位置数据合并
根据您的描述,可以使用Python的pandas库来实现相应的操作。以下是一个示例代码:
import pandas as pd
# 读取PS工作簿和SS工作簿的数据
df_ps = pd.read_excel('PS工作簿.xlsx')
df_ss = pd.read_excel('SS工作簿.xlsx')
# 定义合并函数
def merge_data(row_ps, row_ss):
if row_ps['PS工序'] == row_ss['SS工序'] and row_ps['物料编码PS'] == row_ss['物料编码SS']:
# 如果满足条件,相加PS面积和SS面积
area_sum = row_ps['PS面积值'] + row_ss['SS面积值']
# 合并物料描述PS和物料描述SS,并去除重复值
material_desc = row_ps['物料描述PS'] + ', ' + row_ss['物料描述SS']
material_desc = ', '.join(list(set(material_desc.split(', '))))
# 合并PS位置和SS位置,并去除重复值
location = row_ps['PS位置'] + ', ' + row_ss['SS位置']
location = ', '.join(list(set(location.split(', '))))
# 创建新的行数据并添加到新的DataFrame中
new_row = {
'PS工序': row_ps['PS工序'],
'物料编码PS': row_ps['物料编码PS'],
'PS面积值': area_sum,
'物料描述': material_desc,
'位置': location
}
return pd.Series(new_row)
else:
# 不满足条件时,返回原始行数据
return pd.Series(row_ps)
# 合并数据
df_merged = df_ps.apply(lambda row: merge_data(row, df_ss.loc[df_ss['物料编码SS'] == row['物料编码PS']].iloc[0]), axis=1)
# 将合并后的数据保存到新的Excel文件中
df_merged.to_excel('合并后的工作簿.xlsx', index=False)
请注意,以上代码只是一个示例,具体的实现需要根据实际情况进行适当的调整。另外,需要确保您的环境中已经安装了pandas库。
原文地址: https://www.cveoy.top/t/topic/nil9 著作权归作者所有。请勿转载和采集!