from PIL import Image
import base64
import os
from openpyxl import load_workbook
def image_to_base64(image_path):
with open(image_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read())
return encoded_string.decode("utf-8")
def batch_images_to_base64(folder_path):
base64_images = {}
for file_name in os.listdir(folder_path):
image_path = os.path.join(folder_path, file_name)
if os.path.isfile(image_path):
base64_images[file_name] = image_to_base64(image_path)
return base64_images
# 调用示例
#请将your_folder_path替换为包含要转换为Base64编码的图像文件的文件夹路径。
# 此代码将遍历文件夹中的每个图像文件,并将其转换为Base64编码,然后将结果打印出来。
folder_path = "C:/Users/71402/Desktop/测试图片"
base64_images = batch_images_to_base64(folder_path)
#加载excel,注意路径要与脚本一致
wb = load_workbook('test.xlsx')
#激活excel表
sheet = wb.active
sheet['a1'] = '姓名'
sheet['b1'] = 'base64编码'
var1=2
var2=2
for file_name, base64_image in base64_images.items():
print(f"{file_name}: {base64_image}")
sheet.cell(row=var1,column=1).value=file_name
sheet.cell(row=var2, column=2).value =base64_image
var1=var1+1
var2=var2+1
wb.save('test.xlsx')
print('数据写入成功!')
图片的路径我是放在桌面。
表格直接放在目录
生成表格内容:第一列是图片名字,第二列是base64编码