背景
昨天一个我高中的女同桌突然发微信问我“你是不是程序猿 我有问题求助”,
先是激动后是茫然再是冷静,毕业多年不见联系,突然发个信息求助,感觉大脑有点反应不过来…
再说我一个搞Python的,这点要求大家懂的,人生苦短,我用Python!
为了大家的面子,为了程序猿们的脸,不就简单的小Python嘛,必须答应!
梳理需求
现有excel表格记录着 有效图片的名字,如:
要从一个文件夹里把excel表格里记录名字的图片筛选出来;
需求也不是很难,代码思路就有了:
- 读取Excel表格第一列的信息并放入A集合
- 遍历文件夹下所有的文件,判断文件名字是否存在A集合
- 存在A集合则拷贝到目标文件夹
实现(Python 2.7)
读取Excel表格
加载Excel表格的方法有很多种,例如pandas、xlrd、openpyxl,我这里选择openpyxl库, 先安装库
pip install openpyxl
代码如下:
from openpyxl import load_workbook
def handler_excel(filename=r'C:/Users/xxx/Desktop/'):
# 根据文件路径加载一个excel表格,这里包含所有的sheet
excel = load_workbook(filename)
# 根据sheet名称加载对应的table
table = excel.get_sheet_by_name('Sheet1')
imgnames = []
# 读取所有列
for column in table.columns:
for cell in column:
imgnames.append(cell.value+".png")
# 选择图片
pickImg(imgnames)
遍历文件夹读取文件名,找到target并拷贝
使用 方法遍历文件,这里注意windows环境下拿到的unicode编码,需要GBK重新解码
def pickImg(pickImageNames):
# 遍历所有图片集的文件名
for image in os.listdir(
r"C:\Users\xxx\Desktop\work\img"):
# 使用gbk解码,不然中文乱码
u_file = image.decode('gbk')
print(u_file)
if u_file in pickImageNames:
oldname = r"C:\Users\xxx\Desktop\work\img/" + image
newname = r"C:\Users\xxx\Desktop\work\target/" + image
# 文件拷贝
shutil.copyfile(oldname, newname)
简单搞定!没有砸程序猿的招牌,豪横的把成果发给女同桌,结果:
换来有机会请你吃饭,微信都不带回的,哎 ,小丑竟是我自己!
分享学习资源推荐
分享Python整套学习资料,需要的小伙伴,大家自取就可以了。白嫖可以,别忘了给我点个关注哈。
网上学习Python的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。文末获取
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、Python学习视频
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传****,朋友们如果需要可以微信扫描下方****官方认证二维码免费领取【保证100%免费
】
Python资料、技术、课程、解答、咨询也可以直接点击下面名片,
添加官方客服斯琪
↓