Excel作为日常办公最广泛使用的工具之一,学好它可以帮助我们节约时间,提升工作效率,学会灵活高效的使用excel有着十分重要的意义。

本人觉得会使用大部分excel内置公式和以及VBA的就是高手了。

不过比这更高级的是用程序操作excel,针对相似性很高或者重复性、繁琐的excel任务用一个程序可以实现一劳永逸,夸张的说:可以节省你的生命 哈哈。

以下是python操作excel的介绍:

一、工具包

1.xlrd:从Excel电子表格中提取数据  doc地址:https://xlrd.readthedocs.io/en/latest/
2.xlwt:将数据写入Excel电子表格   doc地址:https://xlwt.readthedocs.org/en/latest/
3.xlutils:提供一组处理Excel文件的实用程序  doc地址:https://xlutils.readthedocs.io/en/latest/

二、安装

python -m pip install xlrd xlwt xlutils

三、基本用法

python操作excel的相关工具包可以具体到操作指定单元格的填充样式、数值类型、数值大小等等。然而python操作excel需要一定pandas数据处理功底,后续将补上章节:pandas数据处理技能

1.从指定文件路径读取excel表格,进行一定操作,然后保存到另一个excel文件:result.xlsx

import xlwt
import xlrd
from xlutils.copy import copy
import pandas as pd
from pandas import DataFrame,Series
import os
os.chdir('./')
# 从指定文件路径读取excel表格
df = pd.read_excel('D:/mypaper/data/data.xlsx')
# 查看df内容

# 根据age算出出生年份,增加一列
import datetime
import os
year = datetime.datetime.now().year#获取当前系统时间对应的年份
df['birth'] = year-df['age']
df.to_excel('result.xlsx')#保存到当前工作目录,可以用os.getcwd()查看
#查看下此时df的内容,可以看到已经生成了birth这一列

乍看好像只用到了pandas,还没有用到上面介绍的三个工具包,下面介绍利用python操作excel底层

2.单元格操作

# 定义方法:读取指定目录下Excel文件某个sheet单元格的值
def excel_read(file_path,table,x,y):data = xlrd.open_workbook(file_path)table = data.sheet_by_name(table)return table.cell(y,x).value# 定义方法:单元格值及样式
write_obj_list = []
def concat_obj(cols,rows,value):write_obj_list.append({'cols':cols,'rows':rows,'value':value,\
'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})# 定义方法:合并单元格
def merge_unit(srows,erows,scols,ecols,value):write_obj_list.append({'id':'merge','srows':srows,'erows':erows,'scols':scols,\
'ecols':ecols,'value':value,'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})# 定义方法:更新excel
excel_update(file_path,write_obj_list,new_path):old_excel = xlrd.open_workbook(file_path, formatting_info=True)#管道作用new_excel = copy(old_excel)'''通过get_sheet()获取的sheet有write()方法'''sheet1 = new_excel.get_sheet(0)'''1代表是修改第几个工作表里,从0开始算是第一个。此处修改第一个工作表'''for item in write_obj_list:if 'id' not in item.keys():if 'style' in item.keys():sheet1.write(item['rows'], item['cols'], item['value'],item['style'])else:sheet1.write(item['rows'], item['cols'], item['value'])else:if 'style' in item.keys():sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'],item['style'])else:sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'])'''如果报错 dict_items has no attributes sort把syle源码中--alist.sort() 修改为----> sorted(alist) 一共修改2次'''new_excel.save(file_path)#参数详解
# srows:合并的起始行数
# erows:合并的结束行数
# scols:合并的起始列数
# ecols:合并的结束列数
# value:合并单元格后的填充值
# style:合并后填充风格:
#     font: name 宋体
#     height 280;
#     alignment: horiz centre
#     ... 与excel操作基本保持一致注意:该方法仅仅是将需要直行的动作保存到一个list中,真正的动作还未执行,执行动作是发生在excel_update方法中

最终调用excel_update方法,传入每个单元格需要进行的操作和填充值的write_obj_list以及文件保存路径file_path

就可以在当前工作目录下生成想要的Excel结果文件。

注意:
1.write_obj_list支持用户自定义
2.write_obj_list也可以是根据excel_read方法读取现有待修改的excel文件(可以维持原有表格的格式)而生成

python操作excel还有很多其他的基本方法,因篇幅的限制不再陈述和演示,想要深入研究的可以点击上面的doc地址。

学会python操作excel的单元格、并掌握上面的方法就可以基本实现excel的自动化报表操作了。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

python操作Excel实现自动化报表相关推荐

  1. 利用Python操作Excel实现自动化办公

    1.安装 2.操作一个简单的Excel文档 操作注释及代码: 操作完成后,数据存储结果如下: 3. 操作简单Excel文档并添加数据格式 操作代码如下:附带数据格式的定义 操作效果如图所示: 4.Ex ...

  2. python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】

    相关文章: python处理Excel实现自动化办公教学(含实战)[一] python处理Excel实现自动化办公教学(含实战)[二] python处理Excel实现自动化办公教学(数据筛选.公式操作 ...

  3. python自动化办公excel-自动化办公:python 操作Excel

    原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...

  4. Python骚操作:Python控制Excel实现自动化办公!

    Python骚操作:Python控制Excel实现自动化办公! 1.安装 Python骚操作:Python控制Excel实现自动化办公! 2.操作一个简单的Excel文档 操作注释及代码: Pytho ...

  5. 如何用Python操作Excel自动化办公?一个案例教会你openpyxl——读取数据

    欢迎大家关注我,我是拾陆,关注同名"二八Data" 数据分析工作最难搞的是处理数据的过程,不然不会有专门的ETL(数据抽取.转换.加载)工程师了.如果是企业级数据处理可能数据库直接 ...

  6. 软件测试|Python操作Excel制作报表,不要太方便

    前言 今天我们介绍的是Python操作Excel制作报表,我们需要用到的库是openpyxl,我们主要使用的功能有下列几个功能 插入与查询数据 分类数据统计 数据可视化 字体颜色修改 基本操作 表格初 ...

  7. python excel 自动化-python操作excel让工作自动化

    某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入.删除列.拷贝.求和,所以给了4天的时间要完成. 我不愿意做大量 ...

  8. python自动化办公excel-Python自动化办公系列之Python操作Excel

    [作者导语]本文是鉴于有些粉丝的工作需求,有时候需要遇到这些文件的处理.因此,我写了一个文章集合,供大家参考.全篇包括三个章节,分别为:Python使用openpyxl操作excel.python使用 ...

  9. python做excel自动化-python操作excel让工作自动化

    某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入.删除列.拷贝.求和,所以给了4天的时间要完成. 我不愿意做大量 ...

最新文章

  1. 参加web前端开发培训具体要学什么内容
  2. 黑白世界,感受不同的旅行...
  3. win7如何更改文件类型_教你win7局域网设置方法
  4. ReviewForJob——最小生成树(prim + kruskal)源码实现和分析
  5. 小学毕业java_Java运算符
  6. Warning: bind(): React component methods may only be bound to the component instance. See ...
  7. SqlHelper编写
  8. 从零开始编写深度学习库(五)PoolingLayer 网络层CPU编写
  9. sass玩转颜色总结笔记
  10. C++ 调节PCM音量
  11. python破解excel进入密码(指定密码字符)
  12. 激荡三十年(珍藏图文版)
  13. SpringSecurity多种认证方式记录之自定义
  14. 天耀18期 -09.数组【作业】.
  15. 远程桌面用户输入法的配置
  16. 大型智慧灌区信息化管理系统云平台 智慧灌区信息化管理系统解决方案
  17. 为什么说:即便疫情过后,远程办公依旧实行不起来
  18. 怎么把ide改成ahci_怎样把已安装好的IDE硬盘模式改成AHCI模式 格式已整理 可直接下载打印...
  19. ZOJ 3328 Wu Xing(游戏)
  20. 码流、码率、比特率、帧速率、分辨率、 高清的区别

热门文章

  1. AlphaGoZero 原理讲解(附代码)
  2. Nginx简介【重点】
  3. fpga的硬件加速原理
  4. DRX不连续接收(2)-寻呼Paging
  5. Cumulative Flow Diagram for Best Process Stability
  6. ettercap 图形界面遇无线网卡报错
  7. 火眼金睛,看透Spring处理Import注解的全过程
  8. DBoW2原理与代码分析(结合ORB_SLAM2)
  9. 【无标题】诗歌:人生格言
  10. 第十一届蓝桥杯 ——限高杆