1. 程式人生 > 其它 >excel超連結圖片_python操作excel:批量生成超連結

excel超連結圖片_python操作excel:批量生成超連結

技術標籤:excel超連結圖片

excel設定超連結的函式是HYPERLINK,這裡用python批量生成超連結的思想其實很簡單,就是將公式寫入excel就行。本文程式碼裡用到《python獲取指定資料夾下的所有檔名(或指定檔案型別)》文章的知識,程式碼不懂的可以過去看看。使用pandas庫讀取excel,為什麼不推薦用xlwt呢?這裡留個懸念,讀者可以自行去實操一下,對比pandas、xlwt、openpyxl三者操作excel生成超連結的區別。

首先,看下需要寫入超連結的excel表——超連結測試.xlsx:

d8896c2637b356c0a21cb000fcc28567.png

超鏈的物件以及檔案路徑(這裡用三張圖片為例):

5548a14d1611dfb350ce9bf5a1dc1ce6.png

完整程式碼:

#推薦使用pandas,使用pandas方法可以不用在excel上點選import pandas as pdimport os# os.getcwd() #獲取當前路徑def get_img_file(file_dir):    imagelist = []    for parent, dirnames, filenames in os.walk(file_dir):        for filename in filenames:            # 判斷檔案是否是圖片形式,這裡的字尾名都是預設小寫字母形式,如有大寫字母,新增上去即可            if filename.endswith(('.bmp', '.dib', '.png', '.jpg', '.jpeg', '.pbm', '.pgm', '.ppm', '.tif', '.tiff')):                imagelist.append(os.path.join(parent, filename))        return imagelistdef Hyperlinks(data_list,file_paths):    str_1= '=HYPERLINK("'    str_2 = '","'    str_3 = '")'    list_ = []    for i,j in zip(data_list,file_paths):        list_.append(str_1 + j + str_2 + str(i) + str_3)    return list_if __name__ == "__main__":    file_dir = 'D:\微信公眾號\python\python操作excel'    imagelist = get_img_file(file_dir) #獲取指定資料夾下的圖片存放路徑以及名稱    data = pd.read_excel('超連結測試.xlsx') #匯入資料data_list=data['test']#設定需要生成超連結的列    test_list = Hyperlinks(data_list,imagelist) #呼叫Hyperlinks    data['test'] = test_list    data.to_excel('new_超連結測試.xlsx',index=False)        print('檔案成功生成')

結果存放在new_超連結測試.xlsx中