当前位置: 首页 > news >正文

深圳市建网站公司巴州移动网站建设

深圳市建网站公司,巴州移动网站建设,小学网站建设设计方案,小程序模板设计用Python批量处理Excel文件,实现自动化办公 一、具体需求 有以下N个表,每个表的结构一样,如下: 需要把所有表数据汇总,把每个人的得分、积分分别加起来,然后按总积分排名,总积分一致时&#xff…

用Python批量处理Excel文件,实现自动化办公

一、具体需求

有以下N个表,每个表的结构一样,如下:

需要把所有表数据汇总,把每个人的得分、积分分别加起来,然后按总积分排名,总积分一致时,名次一致且非连续排序;积分一致的前提下,按总得分降序展示,但不改变排名,结果如下:

二、Python开发

1、导入所需的包

import pandas as pdimport glob

2、获取所有Excel文件的文件路径

excel_files = glob.glob("./样例数据/*.xlsx")

3、将各表数据合并到主DataFrame

# 初始化一个空DataFramemerged_df = pd.DataFrame()
# 循环读取每个Excel文件并合并到DataFramefor file in excel_files:    df = pd.read_excel(file, header=1)  # 读取Excel文件,跳过第一行数据    merged_df = merged_df._append(df, ignore_index=True)  # 合并到主DataFrame

4、计算总积分和总排名

merged_df['总得分'] = merged_df.groupby('姓名')['月度得分'].transform('sum')  # 计算得分总和merged_df['总积分'] = merged_df.groupby('姓名')['积分'].transform('sum')  # 计算积分总和merged_df.drop_duplicates(subset=['姓名', '总积分'], keep='first', inplace=True)  # 去重

5、以总积分排名

merged_df['总排名'] = merged_df['总积分'].rank(ascending=False, method='min')

6、按总积分列的值进行排序,重置索引

merged_df = merged_df.sort_values(by=['总积分','总得分'], ascending=[False,False]).reset_index(drop=True)

7、获取需要输出的结果​​​​​​​

result_df = pd.DataFrame()result_df = merged_df.loc[:, ['姓名','总得分','总积分','总排名']].copy()

8、将合并后的DataFrame输出到一个新Excel文件

result_df.to_excel("总积分及排名.xlsx", index=False)

汇总代码展示如下

import pandas as pdimport globexcel_files = glob.glob("./样例数据/*.xlsx")# 初始化一个空DataFrame
merged_df = pd.DataFrame()# 循环读取每个Excel文件并合并到DataFrame  append() 方法在DataFrame的末尾添加一行或一列数据 新版本修改为 _append()
for file in excel_files:df = pd.read_excel(file, header=1)  # 读取Excel文件,跳过第一行数据merged_df = merged_df._append(df, ignore_index=True)  # 合并到主DataFramemerged_df['总得分'] = merged_df.groupby('姓名')['月度得分'].transform('sum')  # 计算得分总和
merged_df['总积分'] = merged_df.groupby('姓名')['积分'].transform('sum')  # 计算积分总和
merged_df.drop_duplicates(subset=['姓名', '总积分'], keep='first', inplace=True)  # 去重merged_df['总排名'] = merged_df['总积分'].rank(ascending=False, method='min')merged_df = merged_df.sort_values(by=['总积分','总得分'], ascending=[False,False]).reset_index(drop=True)result_df = pd.DataFrame()
result_df = merged_df.loc[:, ['姓名','总得分','总积分','总排名']].copy()result_df.to_excel('./样例数据/总排名.xlsx', index=False)

 

http://www.yayakq.cn/news/517858/

相关文章:

  • 做网站的框架模版wordpress中文路径
  • 最好的建站平台网站权重有什么用
  • 实验室网站建设意义常州网站开发培训
  • 怎么创建一个视频网站移动电商网站设计
  • 微信文章采集 wordpress怎么给一个网站做seo
  • 商务网站的建设阶段包括著名品牌营销策划公司
  • 网站备案审核过规定时间了jsp网站建设作业
  • 男生做网站编辑台州网站制作建设
  • 自己做网站详细流程炽乐清网站建设
  • 江阴网络公司做网站搜索引擎优化seo优惠
  • 宁夏省住房城乡建设厅网站怎样做网络推广才能有效果
  • 网站的定义网络服务器无响应
  • 做品牌的人常用的网站海外电商
  • 上海智能网站建设设计软件开发外包价格
  • 网站服务器拒绝连接aspnet网站开发源码
  • 有关网站建设的论文wordpress geek theme
  • 建设简易电子商务网站流程南充市网站建设
  • 建设银行网站账号怎么注销wordpress 主题站
  • 安康做网站的公司电话建网站需要哪些
  • 深圳网站搜索优化企业网站设计怎么做
  • 太原网站制作公司飞向未来自己建设网站的利弊
  • 重庆seo建站燕郊医院网站建设
  • 天津建网站建网站的客户
  • 用手机能创建网站吗门户网站建设的平台
  • 扫黄除恶网站构造结构怎么做wpml wordpress
  • 企业建站哪个好网易邮箱注册
  • 东莞网站建设php方案学电脑培训班多少一个月
  • 中国建设资格注册中心网站网站设置子目录
  • 上海本地网站建设网上做调查网站
  • 三六五网做网站吗上海市政建设有限公司网站