首页 > 编程语言 >python——表格在Excle和Word之间的转换

python——表格在Excle和Word之间的转换

时间:2024-09-05 18:20:41浏览次数:7  
标签:docx Word python cells Excel Excle data row

如何在Python中将Word中的表格写入Excel,以及如何将Excel中的数据写入Word。我们将使用 python-docxopenpyxl 这两个库来完成这项任务。

1. 将Word中的表格写入Excel

1.1 安装所需库

首先,确保安装了 python-docxopenpyxl

pip install python-docx openpyxl
1.2 从Word中提取表格数据

示例:从Word文档提取表格数据

from docx import Document

# 读取Word文档
doc = Document('input.docx')

# 提取第一个表格
table = doc.tables[0]

# 提取表格数据
data = []
for row in table.rows:
    data.append([cell.text for cell in row.cells])

# 打印提取的数据
for row in data:
    print(row)

说明:

  • Document('input.docx') 读取Word文档。
  • doc.tables[0] 选择文档中的第一个表格。
  • 遍历表格的每一行,将每行的单元格文本存储到 data 列表中。

示例输出:

['Header1', 'Header2', 'Header3']
['Row1Col1', 'Row1Col2', 'Row1Col3']
['Row2Col1', 'Row2Col2', 'Row2Col3']
1.3 将数据写入Excel

示例:将提取的数据写入Excel文件

from openpyxl import Workbook

# 创建一个新的Excel工作簿
wb = Workbook()
ws = wb.active

# 写入数据
for row in data:
    ws.append(row)

# 保存Excel文件
wb.save('output.xlsx')

说明:

  • Workbook() 创建新的Excel工作簿。
  • ws.append(row) 将每行数据写入Excel。
  • wb.save('output.xlsx') 保存Excel文件。

2. 将Excel中的数据写入Word

2.1 从Excel中读取数据

示例:从Excel文件读取数据

import openpyxl

# 读取Excel文件
wb = openpyxl.load_workbook('input.xlsx')
ws = wb.active

# 提取数据
data = []
for row in ws.iter_rows(values_only=True):
    data.append(row)

# 打印提取的数据
for row in data:
    print(row)

说明:

  • openpyxl.load_workbook('input.xlsx') 读取Excel文件。
  • ws.iter_rows(values_only=True) 提取工作表中的所有数据。

示例输出:

('Header1', 'Header2', 'Header3')
('Row1Col1', 'Row1Col2', 'Row1Col3')
('Row2Col1', 'Row2Col2', 'Row2Col3')
2.2 将数据写入Word

示例:将数据写入Word文档中的表格

from docx import Document

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

# 添加一个表格
table = doc.add_table(rows=1, cols=len(data[0]))

# 添加表头
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# 添加数据行
for row in data[1:]:
    cells = table.add_row().cells
    for i, value in enumerate(row):
        cells[i].text = str(value)

# 保存Word文件
doc.save('output.docx')

说明:

  • Document() 创建新的Word文档。
  • doc.add_table(rows=1, cols=len(data[0])) 添加表格并设置初始行数和列数。
  • 填充表头和数据行。
  • doc.save('output.docx') 保存Word文档。

3. 完整说明文档

以下是整个处理流程的完整说明文档:

3.1 将Word中的表格写入Excel
  1. 安装库

    pip install python-docx openpyxl
    
  2. 从Word提取表格数据

    from docx import Document
    
    doc = Document('input.docx')
    table = doc.tables[0]
    
    data = []
    for row in table.rows:
        data.append([cell.text for cell in row.cells])
    
    for row in data:
        print(row)
    
  3. 将数据写入Excel

    from openpyxl import Workbook
    
    wb = Workbook()
    ws = wb.active
    
    for row in data:
        ws.append(row)
    
    wb.save('output.xlsx')
    
3.2 将Excel中的数据写入Word
  1. 从Excel读取数据

    import openpyxl
    
    wb = openpyxl.load_workbook('input.xlsx')
    ws = wb.active
    
    data = []
    for row in ws.iter_rows(values_only=True):
        data.append(row)
    
    for row in data:
        print(row)
    
  2. 将数据写入Word

    from docx import Document
    
    doc = Document()
    table = doc.add_table(rows=1, cols=len(data[0]))
    
    hdr_cells = table.rows[0].cells
    for i, header in enumerate(data[0]):
        hdr_cells[i].text = str(header)
    
    for row in data[1:]:
        cells = table.add_row().cells
        for i, value in enumerate(row):
            cells[i].text = str(value)
    
    doc.save('output.docx')
    

以上是如何在Python中将Word文档中的表格写入Excel文件,以及如何将Excel中的数据写入Word文档的详细步骤和示例。希望这能帮助你完成相关任务!

标签:docx,Word,python,cells,Excel,Excle,data,row
From: https://blog.csdn.net/pumpkin84514/article/details/141506238

相关文章

  • python_August(迭代器、生成式)
    目录迭代器三元表达式列表推导式字典生成器拉链函数迭代器可迭代对象:只要拥有iter方法的对象就是可迭代对象,下面的除了前两个,从字符串开始都是可迭代对象height=180 #整型salary=3.2 #浮点型name='nick' #字符串hobby_list1=['run','read'] #列表hobby_tup=......
  • 再也不怕深夜emo的时候没会员了,无敌Python只需20行代码,轻松爬取网易云排行榜热门音乐!
    再也不怕深夜emo的时候没会员了,无敌Python只需20行代码,轻松爬取网易云排行榜热门音乐!让我们直接开始本次操作吧!importrandomimporttimeimportexecjsimportrequestsimportre"""发送请求:模拟浏览器对于url地址发送请求"""#模拟浏览器headers={'User-Agent'......
  • 20240905_154516 python 填空题 字符串方法2
    有字符串列表li=["a","b","c"],让列表成员用+拼接,保存给变量rr="+".join(li)有字符串s,把它的内容变成小写,保存给变量rr=s.lower()有字符串s,把它内部的java全替换为python,保存结果给变量rr=s.replace("java","python")有字符串s="abc",请把它按空符号进行分割,得......
  • SVI pyro 随机变分推理的提示和技巧 ,贝叶斯神经网络 bnn pytorch python
    SVI第四部分:提示和技巧¶pyro.ai/examples/svi_part_iv.html导致这一个的三个SVI教程(第一部分, 第二部分,& 第三部分)通过使用Pyro做变分推断所涉及的各个步骤。在这个过程中,我们定义了模型和指南(即,变分分布),设置了变分目标(特别是埃尔博斯),以及构造的优化器(pyro.opti......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校知识共享系统等问题,对高校知识共享系统进行研究分析,然后开发设计出高校知识共享系统以......
  • python+flask实现用户登录界面
    简介        用户输入用户名和密码,此时系统进行核对,如果输入错误,则进行提示;否则登录系统功能界面。前端界面设计,登录界面的示例如下:1)实现前端设计,命名为login.html,前端代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><titl......
  • word中的公式编号
    一、给word自带的编辑器的公式加编号https://blog.csdn.net/Flag_ing/article/details/112966671方法1:最简单粗暴的方式在公式输入的最后加上#和标号然后回车,比如下面:回车后的效果如下:方法2:稍微麻烦点不建议看这个,因为这个哔哔一堆效果跟方法一是一样的哈哈哈,直接看方法3......
  • 基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
    随着电子商务和物流行业的蓬勃发展,自动化处理客户提供的收货信息变得尤为重要。在用户下单时,通常需要输入姓名、电话、地址等信息,但由于输入格式不统一,手动处理这些数据十分繁琐且容易出错。因此,利用Python自动解析用户输入的地址信息,提取姓名、电话、详细地址和省市区成为了许多......
  • 基于SA-BP模拟退火算法优化BP神经网络实现数据预测Python实现
        在数据分析和机器学习领域,时间序列预测和多输入单输出系统的预测是重要且复杂的问题。传统的BP(反向传播)神经网络虽然具有强大的非线性函数逼近能力,但在处理这些问题时容易陷入局部极小值、训练速度慢以及过拟合等问题。为了克服这些不足,我们引入了SA-BP(模拟退火算法......
  • Biome-BGC生态系统模型与Python融合技术实践应用
    Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数,模拟日尺度碳、水和氮通量的有效模型,其研究的空间尺度可以从点尺度扩展到陆地生态系统。在Biome-BGC模型中,对于碳的生物量积累,采用光合酶促反应机理模型计算出每天的初级生产力(GPP),将生长呼吸和维持呼吸减去后的产物......