返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么从Excel中计算整理数据并写入Word
  • 287
分享到

Python怎么从Excel中计算整理数据并写入Word

2023-07-02 14:07:12 287人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python怎么从excel中计算整理数据并写入Word的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么从Excel中计算整理数据并写入Word文章都会有所收获,下面我们一起来看

这篇文章主要介绍了python怎么从excel中计算整理数据并写入Word的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么从Excel中计算整理数据并写入Word文章都会有所收获,下面我们一起来看看吧。

Python实现

首先我们使用Python对该Excel进行解析

from openpyxl import load_workbookimport os# 获取桌面的路径def GetDesktopPath():    return os.path.join(os.path.expanduser("~"), 'Desktop')path = GetDesktopPath() + '/资料/' # 形成文件夹的路径便后续重复使用workbook = load_workbook(filename=path + '数据.xlsx')sheet = workbook.active # 获取当前页# 可以用代码获取数据范围,如果要批处理循环迭代也方便# 获取有数据范围print(sheet.dimensions)# A1:W10

利用openpyxl读取单元格有以下几种用法

cells = sheet['A1:A4']  # 返回A1-A4的4个单元格cells = sheet['A'] # 获取A列cells = sheet['A:C'] # 获取A-C列cells = sheet[5] # 获取第5行# 注意如果是上述用cells获取返回的是嵌套元祖for cell in cells:    print(cell[0].value) # 遍历cells依然需要取出元祖中元素才可以获取值# 获取一个范围的所有cell# 也可以用iter_col返回列for row in sheet.iter_rows(min_row=1, max_row=3,min_col=2, max_col=4):    for cell in row:        print(cell.value)

明白了原理我们就可以解析获取Excel中的数据了

# SQESQE = sheet['Q2'].value# 供应商&制造商supplier = sheet['G2'].value# 采购单号C2_10 = sheet['C2:C10'] # 返回cell.tuple对象# 利用列表推导式后面同理vC2_10 = [str(cell[0].value) for cell in C2_10]# 用set简易去重后用,连接,填word表用order_num = ','.join(set(vC2_10))# 用set简易去重后用&连接,word文件名命名使用order_num_title = '&'.join(set(vC2_10))# 产品型号T2_10 = sheet['T2:T10']vT2_10 = [str(cell[0].value) for cell in T2_10]ptype = ','.join(set(vT2_10))# 产品描述P2_10 = sheet['P2:P10']vP2_10 = [str(cell[0].value) for cell in P2_10]info = ','.join(set(vP2_10))info_title = '&'.join(set(vP2_10))# 日期# 用datetime库获取今日时间以及相应格式化import datetimetoday = datetime.datetime.today()time = today.strftime('%Y年%m月%d日')# 验货数量V2_10 = sheet['V2:V10']vV2_10 = [int(cell[0].value) for cell in V2_10]total_num = sum(vV2_10) # 计算总数量# 验货箱数W2_10 = sheet['W2:W10']vW2_10 = [int(cell[0].value) for cell in W2_10]box_num = sum(vW2_10)# 生成最终需要的word文件名title = f'{order_num_title}-{supplier}-{total_num}-{info_title}-{time}-验货报告'print(title)

通过上面的代码,我们就成功的从Excel中提取出来数据,这样Excel部分就结束了,接下来进行word的填表啦,由于这里我们默认读取的word是.docx格式的,实际上读者的需求是.doc格式文件,所以windows用户可以用如下代码批量转化doc,前提是安装好win32com

# pip install pypiwin32from win32com import clientdocx_path = path + '模板.docx'# doc转docx的函数def doc2docx(doc_path,docx_path):    word = client.Dispatch("Word.Application")    doc = word.Documents.Open(doc_path)    doc.SaveAs(docx_path, 16)    doc.Close()    word.Quit()    print('\n doc文件已转换为docx \n')if not os.path.exists(docx_path):    doc2docx(docx_path[:-1], docx_path)

不过在Mac下暂时没有好的解决策略,如果有思路欢迎交流,好了有docx格式文件后我们继续操作Word部分

docx_path = path + '模板.docx'from docx import Document# 实例化document = Document(docx_path)# 读取word中的所有表格tables = document.tables# print(len(tables))# 15

确定好每个表格数后即可进行相应的填报操作,table的用法和openpyxl中非常类似,注意索引和原生python一样都是从0开始

tables[0].cell(1, 1).text = SQEtables[1].cell(1, 1).text = suppliertables[1].cell(2, 1).text = suppliertables[1].cell(3, 1).text = ptypetables[1].cell(4, 1).text = infotables[1].cell(5, 1).text = order_numtables[1].cell(7, 1).text = time

我们继续用Python填写下一个表格

for i in range(2, 11):    tables[6].cell(i, 0).text = str(sheet[f'T{i}'].value)    tables[6].cell(i, 1).text = str(sheet[f'P{i}'].value)    tables[6].cell(i, 2).text = str(sheet[f'C{i}'].value)    tables[6].cell(i, 4).text = str(sheet[f'V{i}'].value)    tables[6].cell(i, 5).text = str(sheet[f'V{i}'].value)    tables[6].cell(i, 6).text = '0'    tables[6].cell(i, 7).text = str(sheet[f'W{i}'].value)    tables[6].cell(i, 8).text = '0'tables[6].cell(12, 4).text = str(total_num)tables[6].cell(12, 5).text = str(total_num)tables[6].cell(12, 7).text = str(box_num)

这里需要注意两个细节:

  • word写入的数据需是字符串,所以从Excel获取的数据需要用str格式化

  • 表格可能存在合并等其他情况,因此你看到的行数和列数可能不是真实的,需要用代码不断测试

按照上面的办法,将之前从Excel中取出来的数据一一填充到Word中对应位置就大功告成!最后保存一下即可。

document.save(path + f'{title}.docx')print('\n文件已生成')

关于“Python怎么从Excel中计算整理数据并写入Word”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python怎么从Excel中计算整理数据并写入Word”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python怎么从Excel中计算整理数据并写入Word

本文链接: https://lsjlt.com/news/342432.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python怎么从Excel中计算整理数据并写入Word
    这篇文章主要介绍了Python怎么从Excel中计算整理数据并写入Word的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么从Excel中计算整理数据并写入Word文章都会有所收获,下面我们一起来看...
    99+
    2023-07-02
  • Python办公自动化从Excel中计算整理数据并写入Word
    前言 在前几天的文章中我们讲解了如何从Word表格中提取指定数据并按照格式保存到Excel中,今天我们将再次以一位读者提出的真实需求来讲解如何使用Python从Excel中计算、整理...
    99+
    2024-04-02
  • 怎么利用Python实现读取Word表格计算汇总并写入Excel
    这篇文章将为大家详细讲解有关怎么利用Python实现读取Word表格计算汇总并写入Excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言快过年了,又到了公司年底评级的时候了。今年的评级...
    99+
    2023-06-28
  • 利用Python实现读取Word表格计算汇总并写入Excel
    目录前言一、首先导入包二、读评价表所在的目录文件三、读word文件,处理word中的表格数据四、统计计算五、将统计计算结果写入汇总Excel完整代码总结前言 快过年了,又到了公司年底...
    99+
    2024-04-02
  • Django怎么上传excel表格并将数据写入数据库
    本文小编为大家详细介绍“Django怎么上传excel表格并将数据写入数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“Django怎么上传excel表格并将数据写入数据库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-07-02
  • Python怎么实现Excel数据读取和写入
    这篇“Python怎么实现Excel数据读取和写入”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现Exce...
    99+
    2023-06-30
  • python怎么消费kafka数据并写入数据库
    要使用Python消费Kafka数据并写入数据库,您可以遵循以下步骤: 安装kafka-python库:使用pip安装kafka...
    99+
    2023-10-21
    python kafka 数据库
  • Python自动化办公之Excel数据怎么写入
    这篇文章主要介绍了Python自动化办公之Excel数据怎么写入的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python自动化办公之Excel数据怎么写入文章都会有所收获,下面我们一起来看看吧。Excel 写...
    99+
    2023-06-30
  • python怎么创建表格并写入数据
    在Python中,可以使用`openpyxl`库来创建表格并写入数据。首先需要安装`openpyxl`库,可以使用以下命令进行安装:...
    99+
    2023-10-25
    python
  • C#怎么读取Excel中数据并插入到数据库中
    本篇内容主要讲解“C#怎么读取Excel中数据并插入到数据库中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么读取Excel中数据并插入到数据库中”吧!C#读取Excel中数据,首先上传选...
    99+
    2023-06-18
  • Python中怎么根据输入参数计算结果
    本篇文章给大家分享的是有关Python中怎么根据输入参数计算结果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、问题描述define function,calculate t...
    99+
    2023-06-20
  • python怎么创建csv文件并写入数据
    要在Python中创建和写入CSV文件,可以使用csv模块。下面是一个示例代码: import csv # 定义要写入CSV文件的...
    99+
    2024-02-29
    python
  • python怎么实现消费kafka数据并写入数据库
    要消费Kafka数据并将其写入数据库,可以按照以下步骤进行操作:1. 首先,确保已经安装了kafka-python库,可以使用以下命...
    99+
    2023-09-14
    python kafka 数据库
  • 页面上怎么从不同数据库取数并关联计算?
    可以通过 java 代码实现从不同数据库取数,做好关联计算后返回给前台页面展现,具体思路是: 1)分别从各个数据库中读取表数据,存入 CachedRowSet 对象中 2)关联计算可以使用 JoinRowSet 完成两个表的内连接 3...
    99+
    2017-01-15
    页面上怎么从不同数据库取数并关联计算?
  • 页面上怎么从不同数据库取数并关联计算
    这篇文章给大家介绍页面上怎么从不同数据库取数并关联计算,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。可以通过 java 代码实现从不同数据库取数,做好关联计算后返回给前台页面展现,具体思路是:1)分别从各个数据库中读取...
    99+
    2023-06-03
  • 怎么用Python从几百个Excel中查找数据
    本篇文章给大家分享的是有关怎么用Python从几百个Excel中查找数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。大家好,又到了Python办公自动化系列。今天分享一个真实...
    99+
    2023-06-16
  • Python怎么根据输入参数计算结果
    本篇内容主要讲解“Python怎么根据输入参数计算结果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么根据输入参数计算结果”吧!说明define function,calculat...
    99+
    2023-06-20
  • C#中怎么读取Excel文件并存入数据库
    C#中怎么读取Excel文件并存入数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 protected void Page_Load(obje...
    99+
    2023-06-18
  • python怎么向文件中写入数据
    在Python中,可以通过以下几种方式向文件中写入数据:1. 使用`open()`函数以写入模式打开文件,并利用`write()`函...
    99+
    2023-09-05
    python
  • 怎么将数据从R语言中写入CSV文件
    在R语言中,可以使用write.csv()函数将数据写入CSV文件。以下是一个简单的示例: # 创建一个数据框 data <-...
    99+
    2024-04-08
    R语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作