【办公类-88-02】20250106批量读后感

背景需求

学期总结开始写各种总结

同事请我代写

我手里写5个老师要写。就想试试能不能用"星火讯飞写稿子"+Python(excle \word)批量生成)

一、AI生成读后感

星火讯飞写出来的读后感内容相同,所以要用不同的关键词

1、不同岗位:假如您是一位班主任、假如您是一位幼儿园管理者、假如您是一位保育工作者)

2、同样都是幼儿老师,就在"于漪老师事迹"后面写,围绕"幼儿发展优先分析""谈谈师幼互动""结合理解发现支持幼儿"等不同的元素写

3、字数是1000字。但总体感觉很少,下次用2000字,但可能也就1000字

篇幅有限这里不介绍如何获取读后感文字,只是把文字都贴入EXCLE的content内

从AI复制的读后感,要选中单元格,点击顶部的输入框,把文字全部贴入,这样文字都在一个单元格里,才能一次性写入(重要)

此外每个单元格第一行要空(手动换行符)

二、删除单元格里的手动换行符

测试后发现还是需要再EXCEL里删除手动换行符(空行),而不是在Python里修改

EXCEL用VBA宏进行换行符的替换

第1步:在EXCEL界面上ALT+F11

第2步:VBA窗体 插入-模块

第3步:黏贴代码

VBA代码

Sub 删除单元格内空行()
    Dim cell As Range
    For Each cell In Selection
        If InStr(cell.Value, Chr(10)) > 0 Then
            cell.Value = Replace(cell.Value, Chr(10), "123")
        End If
    Next cell
End Sub

第4步:两次关闭

第5步:选中读后感(有换行符空行)

第6步:开发工具-宏-选中刚才代码-运行

第7步:所有换行符空行都被改成123(如果有两个123,说明这里面有两个连续的换行符也就是一个是空行)

保存EXCEL关闭

三、制作WORD模版

本次需要制作两个内容相同,标题不同的读后感

(一)工会学后感

原始样式

修改后样式

(二)校本研修小结

原始样式

修改后样式

特别说明:

读后感content部分的字体是宋体小四,但是我每次导入后,会变成宋体小五

原来是模版里预设的正文样式字体就是宋体小五。所以我把正文样式字体改成小四,就解决了问题。

四、EXCEL制作

五、代码展示

python 复制代码
from docxtpl import DocxTemplate
import pandas as pd
import os,time
from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Pt
import win32com.client as win32

from docxtpl import DocxTemplate
import pandas as pd
import os
from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Pt
import win32com.client as win32

zpath = r'C:\Users\jg2yXRZ\OneDrive\桌面\校本研修'

print('-------------1、生成WORD-------------')

n=['工会学后感','校本研修小结']

for x in n:
    template_path = os.path.join(zpath, f'{x}.docx')
    output_path = os.path.join(zpath, '整理')
    os.makedirs(output_path, exist_ok=True)    

    tpl = DocxTemplate(template_path)
    autho = pd.read_excel(os.path.join(zpath, 'autho.xlsx'))
    num = autho["num"].astype(str).str.rstrip()  # 
    name = autho['name'].str.rstrip()  # 
    title = autho['title'].str.rstrip()
    content = autho['content'].str.rstrip()
    # print

    num1 = autho.shape[0]
    for i in range(num1):
        context = {
            "num": num[i],
            "name": name[i],
            "title": title[i],
            "content": content[i],
        }
        tpl = DocxTemplate(template_path)
        tpl.render(context)
        output_filename = f"{int(num[i]):02} {name[i]} {x}.docx"
        output_file_path = os.path.join(output_path, output_filename)
        # try:
        tpl.save(output_file_path)

print('-------------2、123替换硬回车和缩进四字符-------------')


def replace_text_in_docx(docx_path, old_text, new_text):
    doc = Document(docx_path)
    for para in doc.paragraphs:
        if old_text in para.text:
            para.text = para.text.replace(old_text, new_text)
    doc.save(docx_path)

for root, dirs, files in os.walk(output_path):
    for file in files:
        if file.endswith(".docx"):
            file_path = os.path.join(root, file)
            replace_text_in_docx(file_path, "123123", "\n    ")
            replace_text_in_docx(file_path, "123", "\n    ")


print('-------------3、删除第一个软回车-------------')    

(一)获取有123的文档

(二)123变成软回车(替换原来位置)

(三)删除第一个软回车

本文样式是前面5行要的,第6行就是第一段内容,因此这里多的一个软回车需要删除

还没有运行成功,目前找不到Python解决方法,暂时可以考虑把读后感贴入EXCEL时,预先就把第一行的空行删除,然后把第一段前面手动添加四个空格。

相关推荐
鸡鸭扣23 分钟前
Docker:3、在VSCode上安装并运行python程序或JavaScript程序
运维·vscode·python·docker·容器·js
paterWang1 小时前
基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
开发语言·python·opencv
东方佑1 小时前
使用Python和OpenCV实现图像像素压缩与解压
开发语言·python·opencv
神秘_博士2 小时前
自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone
arm开发·python·物联网·flutter·docker·gitee
Moutai码农3 小时前
机器学习-生命周期
人工智能·python·机器学习·数据挖掘
小白教程4 小时前
python学习笔记,python处理 Excel、Word、PPT 以及邮件自动化办公
python·python学习·python安装
武陵悭臾4 小时前
网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
python·selenium·网络爬虫·pyautogui·deepseek·鼠标右键模拟·保存链接为htm
代码猪猪傻瓜coding5 小时前
关于 形状信息提取的说明
人工智能·python·深度学习
码界筑梦坊6 小时前
基于Flask的第七次人口普查数据分析系统的设计与实现
后端·python·信息可视化·flask·毕业设计
微笑的Java6 小时前
Python - 爬虫利器 - BeautifulSoup4常用 API
开发语言·爬虫·python