使用Python将Excel数据导入Word并设置字体样式(成功)

在日常办公和数据处理中,我们经常需要将Excel中的数据导入到Word文档中。手动完成这个过程可能既费时又容易出错。本文将介绍如何使用Python自动化这一任务,同时根据数据的不同设置不同的字体样式和大小。

所需工具

  • Python:一种广泛使用的高级编程语言。
  • openpyxl:一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
  • python-docx:一个用于创建和更新Microsoft Word (.docx) 文件的Python库。

安装依赖库

首先,确保安装了openpyxl和python-docx库。如果还没有安装,可以通过以下命令进行安装:

pip install openpyxl python-docx

代码示例

以下是一个简单的代码示例,它读取Excel文件中的数据,并将其导入到一个新的Word文档中。我们还会根据列的不同设置不同的字体样式和大小。

python 复制代码
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
import openpyxl

# 加载Excel工作簿和活动工作表
excel_path = r'C:\path\to\your\excel.xlsx'
workbook = openpyxl.load_workbook(excel_path)
sheet = workbook.active

# 创建一个新的Word文档
doc = Document()

# 遍历Excel工作表的每一行,从第2行开始
for row in sheet.iter_rows(min_row=2, values_only=True):
    for i, content in enumerate(row[:4], start=1):
        paragraph = doc.add_paragraph()
        run = paragraph.add_run(str(content))

        # 设置字体样式和大小
        if i in [1, 2]:  # 第1和第2列
            run.font.size = Pt(14)
            run.font.bold = True
        elif i in [3, 4]:  # 第3和第4列
            run.font.size = Pt(12)
            run.font.bold = False

        run.font.name = '宋体'
        paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT

    # 在各行之间添加一个空行作为分隔
    doc.add_paragraph()

# 保存Word文档
doc.save(r'C:\path\to\your\output.docx')

结论

使用Python自动将Excel数据导入Word文档不仅可以节省大量手动操作的时间,还可以减少因手动操作导致的错误。通过上述方法,我们可以根据需要轻松地自定义字体样式和大小,使得生成的文档既美观又专业。

相关推荐
imgsq1 小时前
电子学会考级 vs CCF-GESP:两套少儿编程考级怎么选
python·青少年编程
Smoothcloud润云2 小时前
PyTorch推理服务动态批处理实战:兼顾吞吐与延迟
人工智能·pytorch·python·深度学习·ai·gpu算力
码爸2 小时前
决策树介绍与示例
python·算法·机器学习
临床数据科学和人工智能兴趣组2 小时前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
王中阳Go2 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
计算机编程指导师3 小时前
【计算机毕设选题推荐】基于Hadoop的宫颈癌变进程光谱数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·数据分析·spark·毕业设计·宫颈癌变
夜雪一千3 小时前
应用层加密的优缺点
python
计算机编程指导师3 小时前
【计算机毕设选题推荐】基于Hadoop+Spark的化妆品销售大数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·化妆品
用户0332126663674 小时前
Python 实用技巧:从零自主生成结构化 PDF 页面
python
benchmark_cc4 小时前
前复权数据每天可能变化,历史数据库应该覆盖还是保留原始价格?
大数据·python·pandas·量化交易·股票数据·quantdash