对excl文件选择某些列并根据行的内容进行排序

收到一个不包括文件,需要根据文件中每行的信息进行调整,现将需要的列给摘出来,然后按照相同的行给排在一起

import pandas as pd
import os
Folder_file =r'E:\全国规则调整\需要调整的表格' #文件夹的名字
path = r'C:\Users\lenovo\Desktop\test.xlsx'
excel_files =Folder_file +'\\'+ os.listdir(Folder_file)[0]
print(excel_files)
if excel_files.split('\\')[-1][:2] == '~$':  # 可能在打开文件夹的时候产生一些临时文件,避开临时文件
    excel_files = Folder_file + '\\' + os.listdir(Folder_file)[1]
ad = pd.read_excel(excel_files).fillna('不修改')
ad['投件规则(调整后名称)'] = ad.apply(lambda x:'不修改' if x['投件规则(调整后名称)'] == x['投件规则(调整前名称)'] else x['投件规则(调整后名称)'],axis = 1)  #作用于每一行
ad['取件规则(调整后名称)'] = ad.apply(lambda x:'不修改' if x['取件规则(调整后名称)'] == x['取件规则(调整前名称)'] else x['取件规则(调整后名称)'],axis = 1)  #作用于每一行
ad['预约规则(调整后名称)'] = ad.apply(lambda x:'不修改' if x['预约规则(调整后名称)'] == x['预约规则(调整前名称)'] else x['预约规则(调整后名称)'],axis = 1)  #作用于每一行
ad['短信模板(调整后名称)'] = ad.apply(lambda x:'不修改' if x['短信模板(调整后名称)'] == x['短信模板(调整前名称)'] else x['短信模板(调整后名称)'],axis = 1)  #作用于每一行
ad['滞留规则(调整后时长)'] = ad.apply(lambda x:'不修改' if x['滞留规则(调整后时长)'] == x['滞留规则(调整前时长)'] else x['滞留规则(调整后时长)'],axis = 1)  #作用于每一行

ad = ad[['网点ID','网点名称','投件规则(调整后名称)','取件规则(调整后名称)','预约规则(调整后名称)','短信模板(调整后名称)','滞留规则(调整后时长)','调整原因描述']].sort_values(by=['投件规则(调整后名称)','取件规则(调整后名称)','预约规则(调整后名称)','短信模板(调整后名称)','滞留规则(调整后时长)'])
if os.path.exists(path): #判断文件是否存在
    os.remove(path)      #如果存在文件则删除
ad.to_excel(r'C:\Users\lenovo\Desktop\test.xlsx') #保存文件


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值