(python)excel表格按某一列先排序、后去重

将每个月新增的项目建设单位找出来,将整行的数据保存到当前excel表格的新建sheet中。

import pandas as pd
import os

# 读取Excel文件
file_path = 'C:\\Users\\ceprei\\Desktop\\zsy\\python\\excel_filter\\test3.xlsx'  # 文件路径
df = pd.read_excel("test3.xlsx", sheet_name="项目分项估算表")

# 按'月份'列进行升序排序
df.sort_values(by='月份', inplace=True, ascending=True)
# 按“公司”列进行去重
df.drop_duplicates(subset='建设单位', keep='first', inplace=True)

# 保存排序后的数据到新的Sheet文件
df.to_excel('newscore.xlsx')
with pd.ExcelWriter(file_path, engine='openpyxl', mode='a',if_sheet_exists='replace') as writer:
     df.to_excel(writer, sheet_name='df_data', index=False)
# 自动打开Excel文件
if os.name == 'nt':  # 检查是否为Windows系统
    os.startfile(file_path)  # 使用默认程序打开文件
print("结果已写入原有的Excel文件中的新工作表。") 

测试:
在这里插入图片描述
结果:
在这里插入图片描述

  • 文件打开时运行代码会报错:PermissionError: [Errno 13] Permission denied:。关闭文件运行就可以了
  • 筛选行默认在第一行,否则可能会识别不到关键字
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值