这里展示通过csv库针对目录下所有图像制作超链接,展示的超链接文本内容为图像的相对路径,通过点击超链接即可查看相应的图像,同时使用自然排序方式,确保跟Windows下打开的排列顺序一致。
import os
from natsort import ns, natsorted
import csv
def get_image_hyperlink_csv(
src_csv_path, dst_csv_path, image_dir_path,
column_name = "C", column_title="图像超链接", encoding_way = "GBK"
):
# 读取CSV文件
f = open(src_csv_path, "r", encoding=encoding_way, newline='')
ff = open(dst_csv_path, "w", encoding=encoding_way, newline='')
image_name_list = natsorted(
os.listdir(image_dir_path),
alg=ns.PATH
)
with f, ff:
read_contents = csv.reader(f)
writer = csv.writer(ff)
# 读取csv文件的头部
header = next(read_contents)
# 插入新增的图像超链接标题
# 获取指定列的索引
column_index = ord(column_name)-65
header.insert(column_index, column_title)
writer.writerow(header)
for image_name, row in zip(image_name_list, read_contents):
image_path = os.path.join(image_dir_path, image_name)
# 图像超链接
image_hyperlink = f"=HYPERLINK(\"{image_path}\")"
row.insert(column_index, image_hyperlink)
writer.writerow(row)
if __name__ == "__main__":
src_csv_path = 'images.csv'
dst_csv_path = "./images_with_hyperlink.csv"
image_dir_path = "./images"
get_image_hyperlink_csv(src_csv_path, dst_csv_path, image_dir_path)