文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python办公自动化Excel怎么实现

2023-06-22 05:25

关注

这篇文章主要介绍“Python办公自动化Excel怎么实现”,在日常操作中,相信很多人在Python办公自动化Excel怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python办公自动化Excel怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前言

Python处理Excel的包是openpyxl,其支持操作的文件类型为:.xlsx, .xlsm, .xltx, .xltm

pip install openpyxl

安装完成之后,我们应该了解一下Excel的组成部分,如下图所示:

Python办公自动化Excel怎么实现

Excel文件中三个对象

workbook: 工作簿,就是一个excel文件sheet:工作表,一个workbook有多个工作表,表名识别,如“sheet1”,“sheet2”等。cell: 单元格,存储数据对象

一、创建、打开excel文件

创建空白工作簿

创建一个空的工作簿,并将默认工作表重命名

#导入库中的工作簿from  openpyxl import Workbook #创建工作簿 wb = Workbook()#获取当前所在的sheet,激活         sheet = wb.active #设置工作表名称,也可以不设置,不设置工作表默认名称为Sheet                   sheet.title = "工作表1" print(sheet.title)        #打印工作表名字 #保存表       wb.save("new_excel.xlsx")

如下成功创建

Python办公自动化Excel怎么实现

打开已有文件

from  openpyxl import Workbook, load_workbook #加载excel文件wb = load_workbook("new_excel.xlsx")#获取所在的工作表sheet = wb.active#打印工作表名print(sheet.title)   #输出"工作表1"

二、工作表中的数据操作

往excel中写数据是按照坐标的方式进行写入的,每个单元格都可以用 “纵坐标横坐标”表示,如下位置:

Python办公自动化Excel怎么实现

写数据

方法一:自定义位置写入数据

如下在C3和D3的地方写入数据

#导入库中的工作簿from  openpyxl import Workbook, load_workbook #加载文件wb = load_workbook("new_excel.xlsx")#获取文件的所在工作表sheet = wb.active#打印工作表名print(sheet.title)   #输出工作表1 sheet["C3"] = "girl"sheet["D3"] = "beautiful"#保存wb.save("new_excel.xlsx")

Python办公自动化Excel怎么实现

 方法二:每行自动添加数据

会自动从上到下在有数据的那一行的下一行开始从左到右写入想要写入的数据

#导入库中的工作簿from  openpyxl import Workbook, load_workbook #加载文件wb = load_workbook("new_excel.xlsx")#或者文件的所在工作表sheet = wb.active#打印工作表名print(sheet.title)   #输出工作表1 sheet.append([11,22,33,44,55])sheet.append(['aa','bb','cc','dd','ee']) #保存wb.save("new_excel.xlsx")

Python办公自动化Excel怎么实现

读数据

表格内容如下

Python办公自动化Excel怎么实现

#导入库中的工作簿from  openpyxl import Workbook, load_workbook #加载文件wb = load_workbook("cma.xx.xlsx") # 1.打印所有的工作表print(wb.sheetnames)     #输出 ['cma.xx', 'cma2.xx'] # 2.选择一个工作表进入sheet = wb["cma.xx"]#print(sheet)             #输出 <Worksheet "cma.xx"> # 3.获取单元格A2的值print(sheet["A2"].value)  #输出 http://api.data.xxx.cn:8090 # 4.获取多个单元格的值,在同一行中for cell in sheet["A2:C2"]:for i in cell:print(i.value)       #输出具体单元格值# 5.在不同的行中for cell in sheet["A2:B4"]:for i in cell:print(i.value)       #输出具体单元格值 # 6.打印表中的所有数据for row in sheet:                   #遍历每一行for i in row:                   #遍历每一行中的每一个单元格       print(i.value,end=", ")     #打印每行的单元格数据print() # 7.获取指定范围单元格中的数据for row in sheet.iter_rows(min_row=2, max_row=5, max_col=6):for i in row:print(i.value,end=', ')print() # 8.按列的方式遍历,即以纵向的方式读取数据for row in sheet.columns:  #从第一列数据开始遍历for i in row:          #获取每一列中的每一个数据print(i.value,end=", ")print()

删除数据

删除整列数据

#导入库中的工作簿from  openpyxl import Workbook, load_workbook #加载文件wb = load_workbook("cma.xx.xlsx") # 选择一个工作表进入sheet = wb["cma.xx"] sheet.delete_cols(2)    #指定删除第二列sheet.delete_cols(2,3)  #删除第二列的往下三列,包括第二列 wb.save("cma.xx.xlsx")

三、csv文件转xlsx

在进行文件转换时我们需要关注两个文件的编码方式,在使用pandas读取csv文件时,也需要指定解码方式

首先查看需要转换的ccv文件的编码方式,使用记事本打开csv文件,查看-状态栏,可以看到文件下方有编码方式:ANSI

Python办公自动化Excel怎么实现

脚本如下

import pandas as pd def csv_to_xlsx():    csv = pd.read_csv('cma.xx.csv', encoding='ANSI')    csv.to_excel('2.xlsx', sheet_name='data', index=False) if __name__ == '__main__':    csv_to_xlsx()

到此,关于“Python办公自动化Excel怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯