【Python 02】工作小妙招(批量在图片指定处添加文本)

帮助别人真快乐~

前几天临近过年,领导布置了一项任务:给市场同事发一张感谢信图片,里面包括同事姓名、入职时长、组织名称、活跃渠道数以及销售业绩。
这可把设计狮妹子愁坏了,算了算她得做几百张,用AI批量替换也需要不小的时间成本且怕有纰漏出现;
看着头疼的她,我放下手里的大宽表,看了几眼用python 批量添加文本的方法,看起来难度不高,那就搞一哈~

引用相关包
# Pillow库是Python里的图像处理库,提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存、图像显示、格式转换以及基本的图像处理操作等;
from PIL import Image,ImageDraw,ImageFont
import pandas as pd
import xlrd
准备文件材料及设置
# 打开底图
im = Image.open(r'D:\xxx\xxx\xxx\xxx\设计底图.jpg')
# 打开数据集
data = pd.read_excel(r"D:\xxx\xxx\xxx\文本数据对应表.xlsx")
# 另存一张底图,这样不会影响原文件使用
im.save(r'D:\xxx\xxx\xxx\image.png')
# 设置字体,选择一个合适的字体及大小
ttfont = ImageFont.truetype('msyhbd.ttc',50)
经过一系列单元格测试写入位置合适后,实现多处循环写入如下
for index,value in data.iterrows():
    image = Image.open(r'D:\xxx\xxx\xxx\image.png')
    img_draw = ImageDraw.Draw(image)
    # 写入位置1,180是横向偏移量,215是纵向偏移量,代表的是离图片右下角的像素点距离;
    # str(value[xxx] 是字符化表格里的值,因为有的是整数类型,小数类型
    # font 设置字体
    # fill 设置线条颜色
    img_draw.text((180,215),str(value[1]),font = ttfont)
    img_draw.text((500,350),str(value[2]),font = ttfont)
    img_draw.text((30,680),str(value[0]),font = ttfont,fill='#9B5728')
    img_draw.text((410,760),str(value[4]),font = ttfont,fill='#9B5728')
    img_draw.text((450,920),str(value[3]),font = ttfont,fill='#9B5728')
    # 可展示一下,方便观测
    image.show()
    # 储存到相关位置并按相关信息命名
    image.save(r'D:\xxx\xxx\xxx\test pic\{}{}.png'.format(value[0],value[1]))

搞定!~
在这里插入图片描述
设计狮妹子两眼泪汪汪呐,能回家过个好年了~

大家一起也试试吧!

参考学习网址:
侠客岛 Python批量处理图片

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 好的,我可以回答这个问题。您可以使用Python中的os和xlwt库来实现这个功能。以下是一个简单的示例代码: ``` import os import xlwt # 指定文件夹路径和要提取的文本 folder_path = "your_folder_path" target_text = "your_target_text" # 创建Excel文件和工作表 workbook = xlwt.Workbook(encoding="utf-8") worksheet = workbook.add_sheet("Text Extraction") # 设置表头 worksheet.write(, , "File Name") worksheet.write(, 1, "Text") # 遍历文件夹中的所有txt文件 row = 1 for filename in os.listdir(folder_path): if filename.endswith(".txt"): file_path = os.path.join(folder_path, filename) with open(file_path, "r", encoding="utf-8") as f: # 读取文件内容 file_content = f.read() # 查找目标文本 if target_text in file_content: # 将文件名和目标文本写入Excel表格中 worksheet.write(row, , filename) worksheet.write(row, 1, target_text) row += 1 # 保存Excel文件 workbook.save("text_extraction.xls") ``` 您需要将代码中的"your_folder_path"和"your_target_text"替换为您自己的文件夹路径和目标文本。此代码将在指定文件夹中查找所有txt文件,并将包含目标文本的文件名和目标文本写入Excel表格中。 ### 回答2: 当然,下面是一个用Python编写的脚本,可以从指定文件夹中批量提取txt文件中的指定文本,并将其导出到Excel表格中: ```python import os import glob import openpyxl def extract_text_from_file(file_path): with open(file_path, 'r', encoding='utf-8') as file: content = file.read() # 在这里添加提取文本的逻辑,可以使用正则表达式或其他方法来匹配需要提取的文本 # 提取的文本可以存储到一个列表中,如texts.append(extracted_text) # 这里只是一个示例: extracted_text = content.split(' ') return extracted_text def extract_text_from_folder(folder_path): texts = [] for file_path in glob.glob(os.path.join(folder_path, '*.txt')): extracted_text = extract_text_from_file(file_path) texts.extend(extracted_text) return texts def export_to_excel(texts): wb = openpyxl.Workbook() sheet = wb.active for i, text in enumerate(texts, start=1): sheet.cell(row=i, column=1, value=text) wb.save('extracted_text.xlsx') if __name__ == '__main__': folder_path = '指定文件夹的路径' texts = extract_text_from_folder(folder_path) export_to_excel(texts) ``` 使用这个脚本,请确保已经安装了`openpyxl`库,可以使用`pip install openpyxl`命令进行安装。另外,您需要将`folder_path`变量替换为您要提取txt文件的文件夹路径。 这个脚本首先定义了两个函数`extract_text_from_file`和`extract_text_from_folder`,分别用于从单个txt文件提取文本和遍历指定文件夹提取全部txt文件的文本。然后使用`export_to_excel`函数将提取的文本保存到Excel文件中。 希望这个脚本对您有所帮助!如果有任何问题,请随时提问。 ### 回答3: 你好!以下是一个简单的Python脚本示例,可以从指定文件夹中批量提取txt文件中的指定文本并保存到Excel文件中。 ```python import os import openpyxl # 指定文件夹路径 folder_path = "指定文件夹路径" # 创建Excel文件 workbook = openpyxl.Workbook() sheet = workbook.active # 设置要提取的文本 target_text = "指定文本" # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): if filename.endswith(".txt"): file_path = os.path.join(folder_path, filename) # 打开文本文件并按行读取内容 with open(file_path, "r") as file: lines = file.readlines() # 遍历每一行 for line in lines: # 如果找到目标文本则写入Excel中 if target_text in line: row = (filename, line) sheet.append(row) # 保存Excel文件 workbook.save("提取结果.xlsx") ``` 请将代码中的`指定文件夹路径`修改为你需要操作的文件夹路径,将`指定文本`修改为你要提取的目标文本。运行脚本后,将会在当前目录下生成一个名为`提取结果.xlsx`的Excel文件,其中包含了每个txt文件中包含目标文本的行。请确保已安装`openpyxl`库,可以通过`pip install openpyxl`命令进行安装。 希望对你有帮助!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eason DayDayUp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值