Python 之Excel文档操作

                                    Excel操作

Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及图表,在系统运营方面广泛用于运营数据报表,比如业务质量、资源利用、安全扫描等报表,同时也是应用系统常见的文件导出格式,以便数据使用人员做进一步加工处理。

本节主要讲述利用Python操作Excel的模块XIsxWriter ( htps://xlsxwriterreadthedocs.org),可以操作多个工作表的文字、数字、公式、图表等。XIsxWriter 模块具有以下功能:

100%兼容的Excel XLSX文件,支持Excel 2003、Excel 2007等版本;

支持所有Excel单元格数据格式;
    单元格合并、批注、自动筛选、丰富多格式字符串等;

支持工作表PNG、JPEG图像,自定义图表;

内存优化模式支持写入大文件。


1、XlsxWriter模块的安装方法如下:

Pip install xlsxwriter

2.基本操作

import xlsxwriter

workbook = xlsxwriter.Workbook('a.xlsx') #创建一个名字为a的表格文件

worksheek = workbook.add_worksheet() #创建一个为默认名字的sheet工作区

worksheek.set_column('A:D',20) #将从A到D的表格变为20size

block = workbook.add_format({'bold':True,
                             'font_size': 10,
                             'color':'blue'})   #创建个名为block的样式:加粗,大小为10,颜色为blue

worksheek.write('A1','Hello',block)  #在单元格A1 写 'Hello' 并赋予block的样式
worksheek.write('A2','World')  #在单元格A2 写 'World'
worksheek.write('A3','!')

worksheek.write(4,0,25)   #在5行第一列 写入 25
worksheek.write(4,1,26)    #在5行第二列 写入 26
worksheek.write(4,2,'=SUM(A5:B5)')  #在第5行第三列写入 上面两数的相加结果
worksheek.insert_image('D1','a.jpg')  #在E2加入图片

workbook.close()

结果展示:

Chart 类

Chart类实现在XlsxWriter模块中图表组件的基类,支持的图表类型包括面积、条形图、 柱形图、折线图、饼图、散点图、股票和雷达等

主要是workbook中的add_chart方法创建,通过type指定类型,语句如下:

chart = workbook.add_chart({'type':'column'}) # 创建一个 column (柱形)图表

更多图表类型说明:

area: 创建一个面积样式的图表;

bar: 创建一个条形样式的图表;

column: 创建一个柱形样式的图表;

line: 创建一个线条样式的图表;

pie: 创建一个饼图样式的图表;

scatter: 创建一个散点样式的图表;

stock: 创建一个股票样式的图表;

radar: 创建一个雷达样式的图表。

然后再通过Worksheet (工作表)的insert_chart()方法插人到指定位置,语句如下:

worksheet.insert_chart('A4',chart)

下面介绍chart类的几个常用方法

chart.add_series (options)方法

它的作用为添加一个数据系列到图表,参数options (diet 类型)设置图表系列选项的字典,操作示例如下:

chart.add_series({
        'categories':'=Sheet1!$A$1:$G$1',
        'values': '=Sheet1!$A$1:$G$1',
        'line': {'color':'black'},
})

add_series方法最常用的三个选项为categories、values、line,

其中categories作为是设置图表类别标签范围;

values为设置图表数据范围;

line为设置图表线条属性,包括颜色、 宽度等。

其他常用方法及示例。

set_x_axis(options)方法,设置图表X轴选项,示例代码如下

chart.set_x_axis({
    'name': 'Earnings per Quarter',              # 设置 X 轴标题名称
    'name_font':{ 'size':14,'bold':True},   # 设置 X 轴标题字体属性
    'num_font' :{ 'italic': True },                # 设置 X 轴数字字体属性
}

Set_size(options)方法设置图表大小

chart.set_size({ 'width':577,'height':287})其中width为宽度,height为高度。

Set_title(options)方法设置图表标题

chart.set_title({'name':u'业务流量周报图表'})

 

set_style(style_id)方法设置图表样式style_id为不同数字则代表不同样式

chart.set_style(37),

set_table(options)方法设置X轴为数据表格形式chart.set_table() 

猜你喜欢

转载自blog.csdn.net/qq_41179280/article/details/84180912