如果 所属组织列的数据相同 就将对应的用户列相同数据进行排序
时间: 2024-03-09 13:46:59 浏览: 131
您可以尝试以下代码,实现对所属组织列相同数据的用户列进行排序:
```python
import pandas as pd
path = r"C:\Users\asus\Desktop\人员分配企业岗位查询表.xlsx"
configuration_path = r"C:\Users\asus\Desktop\配置筛选条件文件.xlsx"
# 读取配置文件中的部门排序规则
df = pd.read_excel(configuration_path)
order = df['部门排序'].dropna().values
# 读取Excel文件中的数据
pf = pd.read_excel(path, sheet_name='Sheet1')
df = pd.read_excel(path)
# 对pf按照“完整的名称”列进行排序
pf = pf.sort_values(by='完整的名称')
pf.to_excel(path, index=False)
# 对df按照部门排序规则进行排序
df = df.sort_values(by=df.columns[0], key=lambda x: x.map({k: i for i, k in enumerate(order)}))
# 将所属组织列相同的用户列进行排序
cols = df.columns.tolist()
cols.remove(df.columns[0])
for col in cols:
df = df.sort_values(by=[df.columns[0], col])
df.to_excel(path, index=False)
print('部门等级排序完成')
```
这段代码会先按照部门排序规则对数据进行排序,然后循环除了第一列以外的所有列,对每一列在所属组织列相同的情况下进行排序,最后将排序后的结果保存到Excel文件中。
阅读全文