python编程操作office三剑客之Excel篇
安装包
安装pip install openpyxl -i https://pypi.doubanio.com/simple/引用import openpyxl官方文档https://openpyxl.readthedocs.io/en/stable/
Excel基本概念
Excel文件的结构比较简单。
【workbook对象】
一个Excel文件在python中被映射为一个Workbook。新建、打开、保存,都是通过Workbook来操作的。
【sheet对象】
一个Workbook包含多个工作页(sheet),每个sheet是一张二维表。sheet是核心概念,大部分操作都通过sheet进行。
选择sheet的方法:get_sheet_by_name
添加数据有两种方法
整行添加,用sheet.append
单个单元格修改,用单元格名字,如:sheet['D7']=data1
更有用的操作,是根据输入的数据制成图表。让我们来了解一下Excel中图表的概念。
图表问题
【chart对象】
在Excel中,一个图表是一个chart对象。
chart对象有不同的类型,比如:
线图:LineChart
柱图:BarChart
饼图:PieChar
.......
此外,chart还有这样一些属性:
大小:width、height
标题:title
坐标轴:x_axis,y_axis 的标题
位置:sheet.add_chart(chart, 'E6')
不论一个chart上画了多少线,它的横坐标一般都是一样的。横坐标一样可以通过reference来设置(具体方法见下)。设置好数据后,通过set_categories设置到图上。
chart.set_categories(cats)
【Series对象】
我们经常见到在一个图上表现两根线,每根线由一组数据构成,这称为一个Series。比如我们的案例中,中国数据和美国数据,就形成两个Series。
通过chart.append功能来给一个图增加多个series。但注意饼图一般只包含一个series。
一个Seires的数据,来自一个对数据表格的引用(reference)。每个引用,应当指定数据来自哪个sheet,开始行、开始列,结束行,结束列。
我们通过reference来创建数据,并把数据和Series连接起来。
data1 = Reference(sheet, min_col=2, min_row=2, max_col=2, max_row=len(data) 1)ser1 = Series(data1, title='中国')
案例
中美GDP对比EXCEL的制作,点击扩展链接获取。