网站首页 > 技术文章 正文

原始素材
import openpyxl
from openpyxl import Workbook
from openpyxl import load_workbook
import os
wbb=Workbook()
wf = wbb.active
wb = load_workbook('取最大最小值.xlsx')
ws = wb['Sheet1']
bianhlb=[]
shuzlb=[]
context={}
for row in range(2, ws.max_row + 1):
bianh = ws["A" + str(row)].value
shuz = ws["B" + str(row)].value
bianhlb.append(bianh)
shuzlb.append(shuz)
#print(bianhlb,shuzlb)
for i in range(len(bianhlb)):
context[bianhlb[i]]=shuzlb[i]
keys=[]#设定
for key in context.keys():
context[key]=[] #清空键值 赋值为空列表
keys.append(key)
#print(context)
print() #换行
for j in range(len(bianhlb)):
for key in context.keys():
if bianhlb[j]== key:
context[bianhlb[j]].append(shuzlb[j])
#print(context)
contextff=context.copy()
for key in contextff.keys():
contextffmax=min(contextff[key]) #改变键值,一个个改就行
contextff[key]=contextffmax
print('最小值为:',contextff)
newlist1=list(sorted(contextff.items(),key=lambda item:item[0] ))
print('按值排序',newlist1)
for key in context.keys():
contextmax=max(context[key]) #改变键值,一个个改就行
context[key]=contextmax
print('最大值为:',context)
newlist2=list(sorted(context.items(),key=lambda item:item[0] ))
print('按键排序',newlist2)
biaotou=['编号1','最小数值','编号2','最大数值']
wf.append(biaotou)
for row in range(2,len(context)+2):
for i in range(1,2):
wf["A" + str(row)].value=newlist1[row-2][i-1]
wf["B" + str(row)].value=newlist1[row-2][i]
wf["C" + str(row)].value=newlist2[row-2][i-1]
wf["D" + str(row)].value=newlist2[row-2][i]
wbb.save('处理后.xlsx')

处理后新生成的
总体思路是这样:
1、首先读取表格数据到列表bianhlb、shuzlb。把两个列表的值分别作为键、键值写入字典(第一次读,直接读取就行,重复的,后面的把前面的替换了,但键值是唯一的)。目的就是获得字典的键。
2、把前面生成的字典键值清空,做判断,如果bianhlb种的值在字典中存在了,就把数据追加到键值列表中,依次把所有数据写入键值的列表中。
3、对字典遍历,取每一个键的最大值,重新组成字典。
4、对新生成的字典按键排序形成列表(最大值contextff、最小值context)
5、将排序后的数据写入表格
感觉写的有点麻烦呢,有没有更简单的办法呢?请指教
需要程序的,关注并私信留邮箱,说明要什么,到时会发给你程序。
- 上一篇: Python常用的40个内置函数使用介绍
- 下一篇: python求两个数的最小公倍数,两种简单解法
猜你喜欢
- 2024-12-12 用Python画雷达图,分析多指标数据
- 2024-12-12 Linux 下Python 脚本编写的"奇技淫巧"
- 2024-12-12 Python实战宝典:30道经典编程挑战,演绎多变解法,高清PDF下载
- 2024-12-12 玩转Python—列表介绍
- 2024-12-12 excel应用技巧:结果大于100取实际,小于100按100
- 2024-12-12 Python冒泡排序大揭秘:看数字如何一步步‘冒泡’到有序!
- 2024-12-12 Python入门,一定要吃透这69个内置函数
- 2024-12-12 蓝桥杯备考冲刺必刷题(Python) | 128 冰雹数
- 2024-12-12 python求两个数的最小公倍数,两种简单解法
- 2024-12-12 Python常用的40个内置函数使用介绍
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)