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

相关推荐
0白露2 小时前
设计模式之工厂方法模式
java·python·设计模式·php·工厂方法模式
_一条咸鱼_6 小时前
Python 数据类型之可变与不可变类型详解(十)
人工智能·python·面试
_一条咸鱼_6 小时前
Python 入门之基本运算符(六)
python·深度学习·面试
_一条咸鱼_6 小时前
Python 流程控制之 for 循环(九)
人工智能·python·面试
_一条咸鱼_6 小时前
Python 语法入门之流程控制 if 判断(七)
人工智能·python·面试
_一条咸鱼_6 小时前
Python 流程控制之 while 循环(八)
人工智能·python·面试
HtwHUAT6 小时前
实验四 Java图形界面与事件处理
开发语言·前端·python
Tech Synapse6 小时前
基于Surprise和Flask构建个性化电影推荐系统:从算法到全栈实现
python·算法·flask·协同过滤算法
麦麦大数据6 小时前
vue+flask+CNN电影推荐系统
pytorch·python·cnn·flask·scikit-learn·电影推荐
腾飞开源6 小时前
02_Flask是什么?
python·flask·python web开发·flask快速入门教程·人人都能学·小白看得懂学得会·跟我学编程