【办公类-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时,预先就把第一行的空行删除,然后把第一段前面手动添加四个空格。

相关推荐
Q_Q51100828517 小时前
python+django/flask的城市供水管网爆管预警系统-数据可视化
spring boot·python·django·flask·node.js·php
小白学大数据19 小时前
增量爬取策略:如何持续监控贝壳网最新成交数据
爬虫·python·性能优化
@forever@1 天前
【JAVA】LinkedList与链表
java·python·链表
程序员爱钓鱼1 天前
Python编程实战:面向对象与进阶语法——类型注解与代码规范(PEP 8)
后端·python·ipython
程序员爱钓鱼1 天前
Python实战:用高德地图API批量获取地址所属街道并写回Excel
后端·python·ipython
reasonsummer1 天前
【教学类-97-06】20251105“葡萄”橡皮泥黏贴(小班主题《苹果与橘子》)
python
卖个几把萌1 天前
【16】Selenium+Python 接管已打开谷歌浏览器
python·selenium·测试工具
像风一样的男人@1 天前
python --两个文件夹文件名比对(yolo 图和label标注比对检查)
windows·python·yolo
lllsure1 天前
【Python】Dict(字典)
开发语言·python
tianyuanwo1 天前
Rust开发完全指南:从入门到与Python高效融合
开发语言·python·rust