python-docx:将excel爬取题库转化为word格式便于浏览

这篇具有很好参考价值的文章主要介绍了python-docx:将excel爬取题库转化为word格式便于浏览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新的改变

POE的GPT4.0错误太多难以吐槽。
似乎段落和运行的删除一直是失败的,所以在第一次添加的时候设置好所有格式
大纲等级设置失败了文章来源地址https://www.toymoban.com/news/detail-517295.html

代码实例

import os
import openpyxl
from docx import Document
from docx.enum.text import WD_BREAK
from docx.shared import Pt, Inches
from docx.shared import RGBColor

def bold_keywords(paragraph,text, keywords):
    str=[text]
    for keyword in keywords:
        tmp=[]
        for s in str:
            text_parts = s.split(keyword)
            for index, part in enumerate(text_parts):
                if index > 0:
                    tmp.append(keyword)
                tmp.append(part)
        str=tmp
    #print(str)
    for s in str:
        if s in keywords:
            run=paragraph.add_run(s)
            run.bold=True
        else:
            run = paragraph.add_run(s)
def replace_consecutive_line_breaks(paragraph):
    """
    将段落中连续的两个换行符替换为一个。
    """
    for run in paragraph.runs:
        run.text = run.text.replace('\n\n', '\n')

def sheet2docx(path,file,suffix='.xlsx'):
    # 读取 Excel 表格
    excel_file = path+'\\'+file+suffix
    wb = openpyxl.load_workbook(excel_file)
    ws = wb.active

    # 创建 Word 文档
    doc = Document()

    # 设置 Word 文档的默认字体和字体大小
    style = doc.styles['Normal']
    font = style.font
    font.name = '微软雅黑'
    font.size = Pt(12)

    # 定义题目之间的间距
    spacing_between_questions = Inches(0)

    # 将题目添加到 Word 文档中
    index = 0
    while index < ws.max_row:
        qp=doc.add_paragraph()
        # 获取题目内容
        question1 = ws.cell(row=index + 2, column=3).value
        analysis = ws.cell(row=index + 2, column=4).value
        answer1 = ws.cell(row=index + 2, column=5).value
        if question1 is not None:
            # 添加第一道题
            run=qp.add_run(question1)
            qp._element.attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}outlineLvl'] = '1'  # 使用字符串表示,注意从0开始,0表示大纲级别1
            qp.add_run().add_break(WD_BREAK.LINE)
            run.bold = True
            run.font.color.rgb = RGBColor(0, 0, 255)
            current_paragraph = doc.add_paragraph()
            bold_keywords(current_paragraph,analysis, ['粉笔审题', '审题点'])

            current_paragraph.add_run().add_break(WD_BREAK.LINE)
            doc.add_paragraph().add_run().add_break(WD_BREAK.PAGE)
            # 设置段落间距
            current_paragraph_format = current_paragraph.paragraph_format
            current_paragraph_format.space_after = spacing_between_questions
            #replace_consecutive_line_breaks(current_paragraph)

            second_paragraph = doc.add_paragraph()
            bold_keywords(second_paragraph,answer1, ['粉笔示例'])
            doc.add_paragraph().add_run().add_break(WD_BREAK.PAGE)

            index += 1

        else:
            break


    # 保存 Word 文档
    doc.save(path+'\\'+file+'.docx')
path='F:\huang\Desktop\草稿本'
for file in os.listdir(path):
    filename=os.path.splitext(file)[0]
    suffix=os.path.splitext(file)[1]
    #result=re.match('~$',filename,0)
    if suffix=='.xlsx':
        sheet2docx(path,filename,suffix)

到了这里,关于python-docx:将excel爬取题库转化为word格式便于浏览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python之python-docx:操作 office word 文档

    在Python中,有一个名为 python-docx 的库,它提供了丰富的功能,可以方便地创建、修改和读取Word文档。 本文将详细介绍 python-docx 库的使用,并提供一些示例来演示其中的功能。为了更好地理解,我们将分为以下几个方面进行讨论: 安装 python-docx 创建和保存Word文档 修改现有

    2024年02月12日
    浏览(35)
  • Python系列之Python-docx生成运行日报Word模板

    因项目需求需要自动生成运行日报,想到使用Python脚本自动生成Word运行模板,接口数据访问elasticsearch获取,获取到的数据再使用pyechart生成图表展示在Word模板中。本文主要介绍python几种工具的安装部署,包括python-docx、elasticsearch和pyechart环境。 1、安装python-docx 1)官方文档

    2023年04月16日
    浏览(35)
  • python-docx把dataframe表格添加到word文件中

    python-docx把dataframe表格添加到word文件中思路较为简单: 先把 dataframe 格式转变为 table 新建一个段落: document.add_paragraph() 把 table 添加到这个段落下方 上述代码会得到如下效果图:

    2024年02月11日
    浏览(33)
  • [Python进阶] Python操作word:win32com、python-docx

    7.5.1 通过win32com操作 7.5.1.1 新建word并写入内容 7.5.1.2 读取word 离离原上草,岁晚霜霰滋。 与子为兄弟,生世逢乱离。 漂荡各分散,生死安得知。 乐土叹无食,南州叹无衣。 良时幸休明,天路开清夷。 翩翩两鸿鹄,振翼思奋飞。 一留故山树,一望云中涯。 东西各异势,顾影

    2024年02月02日
    浏览(37)
  • 「第四章」python-docx 为word添加表格、设置表格边框

    第三章中,我们讲解了如何在利用 add_heading 在 docx 文档中花式添加标题,这一节,我们来一起玩一下 docx 中的 table ,也就是表格,表格部分的内容还蛮多的,我们这一章不一定讲得完,能嘚吧多少算多少,今天刚好有时间,多更新一些哇。🎃 🧡 导入 docx 库 🧡 创建 docum

    2024年02月02日
    浏览(52)
  • 「第三章」python-docx 添加标题,word标题从入门到精通

    💡 1. add_heading() 简介 💡 2. add_heading() 基本用法 💡 3. 设置不同级别的标题 💡 4. 设置带有特殊字符的标题 💡 5. 使用循环添加多个标题 💡 6. 使用不同样式添加标题 💡 7. 结合其他元素使用标题 💡 8. 为标题设置复杂多变的样式 最近一段时间,一直在更新python关于PDF文档、

    2024年02月02日
    浏览(41)
  • 日常随笔——如何把excel题库转换为word打印格式

    将Excel题库转换为Word可以通过编程的方式实现。以下是一个使用Python的示例代码,该代码使用openpyxl库读取Excel文件,并使用python-docx库创建和保存Word文档。 首先,请确保已经安装了 openpyxl 和 python-docx 库。可以使用以下命令进行安装: 然后,使用以下代码将Excel题库转换为

    2024年02月14日
    浏览(79)
  • 【Python】导出docx格式Word文档中的文本、图片和附件等

    为批量批改学生在机房提交的实验报告,我需要对所有的实验文档内容进行处理。需要批量提取Word文档中的图片和附件以便进一步检查。如何提取?我想到了用起来比较方便的Python,经过试验,方案可行,故此记录。学生的作业主要是docx或者doc文档,学生把项目打成压缩包

    2024年02月07日
    浏览(48)
  • Windows安装Python-docx三方库(保姆级教程)

      博主安装Python-docx三方库是一次性成功的,没有报任何错,下面我讲一下安装Python-docx三方库需要的前提环境。 1.安装Python Windows安装Python(保姆级教程) Windows安装PyCharm(保姆级教程) 2.安装python-setuptools库,这个库大多数是跟随python一起自动安装的 3.安装python-lxml库,这个需

    2024年02月06日
    浏览(42)
  • 100天精通Python丨办公效率篇 —— 12、Python自动化操作 office-word(word转pdf、转docx、段落、表格、标题、页面、格式)

    本文收录于 《100天精通Python专栏 - 快速入门到黑科技》专栏 ,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造。 基础知识篇以理论知识为主 ,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架; 黑科技应用篇

    2023年04月18日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包