嘿,各位Python初学者和爱好者们呀!今天我要和大家一起探索Python里超实用的一个技能,那就是用Python实现Excel表格数据的筛选与排序哦。就好像给杂乱无章的数据来一场“大整理”,让它们变得规规矩矩的,可有意思啦,咱这就开始吧!
一、认识相关库
咱们要操作Excel表格呀,得先找个得力的“小助手”,那就是openpyxl库啦。它就像一把万能钥匙,能帮咱们打开Excel文件的大门,然后在里面大展身手呢。不管你用的是Windows系统还是Mac系统,它都能很好地配合咱们干活哦。
实际应用场景可太多啦,比如说你手里有一份学生成绩表,里面成绩乱七八糟的,想把高分的同学挑出来,或者按成绩排个序呀,这时候openpyxl库就能派上用场咯。
下面是导入openpyxl库的代码示例哦:
import openpyxl
# 这行代码就是告诉Python,咱要把openpyxl这个库引进来,后面才能用它那些厉害的功能呢,就像请个帮手得先把人叫过来一样呀
小贴士:要是运行代码的时候提示找不到这个库,那大概率是你还没安装它哦,在命令行里输入“pip install openpyxl”,就能轻松把它安装好啦,就跟给电脑装上一个新软件一样简单呢。
二、打开Excel文件
有了“小助手”,下一步就是打开咱们要操作的Excel文件啦,这里要用到openpyxl库里的**load_workbook()**函数哦,这个函数呀,就好比是个“开锁匠”,能帮咱们把Excel文件这扇“大门”给顺利打开呢。
代码示例来咯:
import openpyxl
wb = openpyxl.load_workbook('example.xlsx')
# 这里的'example.xlsx'就是你要打开的Excel文件的名字哦,记得要写对路径和文件名呀,要是文件不在当前目录,那得把完整路径写上呢。
# wb就是咱们打开后得到的工作簿对象,后面好多操作都得靠它这个“大管家”呢
实际应用场景比如你每天都要查看公司的销售数据表,那用这个代码就能轻松打开它,然后再去做筛选和排序等操作啦。
注意事项:要是文件格式不对,或者文件损坏了,那可能就打不开咯,这时候就得检查下文件本身有没有问题啦,可别错怪咱们的代码呀。
三、选择工作表
打开工作簿后呀,里面往往有好几个工作表呢,咱们得挑出自己想操作的那个工作表呀,这就得用**wb['工作表名']**这种方式啦,就好像在好多房间里找到自己想去的那一间一样哦。
看代码示例:
import openpyxl
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1']
# 这里就是选择了名为'Sheet1'的工作表啦,要是你的工作表名字不一样,记得改成对应的名字哦,不然可找不到你想操作的“小天地”咯
实际应用场景呢,假如你有个库存管理的Excel文件,里面按不同仓库分了不同的工作表,那你想操作哪个仓库的数据,就选对应的工作表就行啦。
学习技巧:要是不确定工作表的名字具体咋写,你可以先打开Excel文件看看,或者用代码打印出所有工作表的名字,这样就不会选错啦。
四、数据筛选操作
重点来咯,数据筛选呢,就好比是从一堆水果里挑出咱们想要的那种水果一样哦。在openpyxl库里呀,咱们可以通过循环遍历单元格,然后根据条件来筛选数据。比如说咱们要筛选出成绩表中分数大于80分的同学信息呀。
代码示例如下:
import openpyxl
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1']
for row in sheet.rows:
score = row[2].value # 假设成绩在第三列,这里获取成绩单元格的值
if score > 80:
print([cell.value for cell in row])
# 这个循环会遍历每一行,然后判断成绩是否大于80分,如果是,就把这一行的数据打印出来啦,你可以根据实际需求把打印改成其他操作哦,比如写到新的表格里呢
实际应用场景比如在员工绩效表中筛选出绩效优秀的员工信息,或者在客户订单表中筛选出金额较大的订单呀。
常见错误:在判断条件的时候,要注意数据类型哦,有时候数据可能是字符串类型,那直接比较大小就不行啦,得先转成合适的类型,就像要把不同“尺码”的东西整理好,得先统一规格一样呢。
五、数据排序操作
数据排序呀,就好像给小朋友们按高矮个排队一样,让数据变得整整齐齐的呢。咱们可以借助Python里内置的**sorted()**函数,结合咱们获取到的单元格数据来进行排序哦。
代码示例给大家看看:
import openpyxl
wb = openpyxl.load_workbook('example.xlsx')
sheet = wb['Sheet1']
data = []
for row in sheet.rows:
data.append([cell.value for cell in row])
# 先把表格里的数据都取出来存到data列表里
sorted_data = sorted(data, key=lambda x: x[1]) # 假设按第二列的数据排序,这里用lambda函数指定排序依据
# 这里就根据第二列的数据对整个表格数据进行了排序啦,排序后的结果在sorted_data里哦
实际应用场景比如给产品销量表按销量多少排序,或者给员工年龄表按年龄大小排序呢。
小贴士:在指定排序依据的时候,要搞清楚数据在表格里的哪一列哦,不然排序可就乱套啦,就像排错队了一样,那可就闹笑话咯。
小伙伴们,今天的Python学习之旅就到这里啦!祝大家学习愉快,Python学习节节高!
领取专属 10元无门槛券
私享最新 技术干货