1. 程式人生 > 其它 >python獲取excel中的圖片,並將圖片轉為bse64,放入postgresql中

python獲取excel中的圖片,並將圖片轉為bse64,放入postgresql中

import base64

import psycopg2
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader

conn = psycopg2.connect(host="127.0.0.1", database="test", user="******", password="******")


def extract_images(slsx_fn):
    workbook = load_workbook(filename=slsx_fn)
    # 2.通過 sheet 名稱獲取表格
    ws 
= workbook["sheet1"] image_loader = SheetImageLoader(ws) cursor = conn.cursor() for index, row in enumerate(ws.rows, start=1): if image_loader.image_in(f'Q{index}'): image = image_loader.get(f'Q{index}') name = row[0].value print("***************
") image.save("./pic/" + str(name) + '.png') pic = open("./pic/" + str(name) + '.png', "rb") pic_base64 = str(base64.b64encode(pic.read()), encoding='utf-8') sttr = "data:image/png;base64," + str(pic_base64) update_sql = f"update testset avatar='{sttr}' where id={name}
" print(name) cursor.execute(update_sql) conn.commit() extract_images('./0505_最終-非洲奈及利亞-程式.xlsx')