python + xlwings 根据条件筛选Excel里的所需资料
实际有用,有效,满足我的个人需要。
点击查看代码
import xlwings as xw
def filer():
try:
app = xw.App(visible=False, add_book=False)
app2 = xw.App(visible=False, add_book=True)
wb = app.books.open('new_file.xlsx') # 打开原始数据表
sht = wb.sheets[0] #获取第一个sheet
wb2 = app2.books.add() # 新建工作簿
#获取源工作表最大单元格
cell = sht.used_range.last_cell
max_col = cell.column
max_rows = cell.row
#取得全部原始数据
data_list = sht.range((3,1),(max_rows,max_col)).value
#获取循环的列表,进行去重
_list = sht.range((2,3),(max_rows,3)).value
_list = list(dict.fromkeys(_list))
#循环列表处理数据
for item in _list:
# 如果是相关数据,则放在新的工作表里
# 在wb2中创建新的工作表
sht_new = wb2.sheets.add(item)
# 复制原始数据第一行到新的sheet
sht_new.range('A1:AH1').value = sht.range('A1:AH1' ).value
print('新建工作表:'+ item)
x = 1
for i in data_list:
if i[2] == item: #i作为列表 i[0]表示第一列
# 将符合条件的数据写入新的工作表
x = x + 1
sht_new.range((x,1),(x,6)).value = i
#保存新工作簿
wb2.save(r'plan_data.xlsx')
print('保存新工作簿成功!')
except Exception as e:
print(e)
finally:
wb.close()
wb2.close()
app.kill()
app2.kill()
filer()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)