一天高中的女同桌突然問我是不是程式設計師,滿臉黑人問號?

2021-12-31 16:00:02

背景

昨天一個我高中的女同桌突然發微信問我「你是不是程式猿 我有問題求助」,
在這裡插入圖片描述
先是激動後是茫然再是冷靜,畢業多年不見聯絡,突然發個資訊求助,感覺大腦有點反應不過來…

再說我一個搞Python的,這點要求大家懂的,人生苦短,我用Python!

為了大家的面子,為了程式猿們的臉,不就簡單的小Python嘛,必須答應!

梳理需求

現有excel表格記錄著 有效圖片的名字,如:
在這裡插入圖片描述
要從一個資料夾裡把excel表格裡記錄名字的圖片篩選出來;

需求也不是很難,程式碼思路就有了:

  1. 讀取Excel表格第一列的資訊並放入A集合
  2. 遍歷資料夾下所有的檔案,判斷檔案名字是否存在A集合
  3. 存在A集合則拷貝到目標資料夾

實現(Python 2.7)

讀取Excel表格

載入Excel表格的方法有很多種,例如pandasxlrdopenpyxl,我這裡選擇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官方認證二維條碼 【免費獲取】
在這裡插入圖片描述