一天高中的女同桌突然问我是不是程序员,满脸黑人问号?
背景
昨天一个我高中的女同桌突然发微信问我“你是不是程序猿 我有问题求助”,
先是激动后是茫然再是冷静,毕业多年不见联系,突然发个信息求助,感觉大脑有点反应不过来…
再说我一个搞Python的,这点要求大家懂的,人生苦短,我用Python!
为了大家的面子,为了程序猿们的脸,不就简单的小Python嘛,必须答应!
梳理需求
现有excel表格记录着 有效图片的名字,如:
要从一个文件夹里把excel表格里记录名字的图片筛选出来;
需求也不是很难,代码思路就有了:
- 读取Excel表格第一列的信息并放入A集合
- 遍历文件夹下所有的文件,判断文件名字是否存在A集合
- 存在A集合则 1dfa2 拷贝到目标文件夹
实现(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/haha.xlsx'): # 根据文件路径加载一个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并拷贝
使用os.listdir 方法遍历文件,这里注意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全套PDF电子书
阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python学习视频
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 【免费获取】
- 程序员都关注哪些公众号?看完满脸黑人问号
- 有一天,程序猿们突然发现他们要涨的工资掉到井里啦!大家都很害怕,连忙一个吊着一个,从树上伸到井里去捞工资。正好他们摸到工资的时候,一个老程序员忽然兴奋的大叫:别蠢了,要涨的工资还好好的挂在天上呢!
- 一天能写2000行代码的实习生,到底是不是一个程序员的好苗子?
- MJ评《国家要案》-7分(是不是程序员都太聪明了?)
- 程序员面试题精选--06 判断整数序列是不是二元查找树的后序遍历结果
- 一天写多少行代码才算是好程序员?
- 程序员面试题精选100题(60)-判断二叉树是不是平衡的
- 一天写多少行代码才算是好程序员?
- 如果有一天程序员再也不忙了
- 中国的程序员培训是不是有问题?
- 程序员不干活,程序员:这人是不是傻?
- iOS 判断两个日期是不是同一天
- 新的一天,不知道是不是新的我
- 程序员 2014-9-28 一天的奇妙之旅
- 程序员2014-10-10一天的奇妙之旅
- 程序员的一天:台湾个人移动游戏开发者
- 判断两个日期是不是同一天的几种方法(swift3新增了一种方法)
- 你的SQL2000有一天突然启动不了了,总找不到原因
- 一个JS效果竟然要研究一天,我是不是不适合做前端?
- 一个JS效果竟然要研究一天,我是不是不适合做前端?