勉强实现:
import pandas as pd
# todo 此处写入需要处理的 Excel 名
df = pd.read_excel('test.xlsx')
def handle(row: pd.Series):
# todo 此处 max 为主题个数
max = 10
new_series = row[['人员ID', '姓名', '个人简历']]
for i in range(max):
title = '主题' if i == 0 else f'主题.{i}'
chance = '概率' if i ==0 else f'概率.{i}'
if pd.isna(row[title]):
continue
else:
new_series[f'主题{row[title]}'] = row[chance]
return new_series
res = df.apply(handle, axis=1)
# 结果存储为result.xlsx
res.to_excel('result.xlsx')