Python数据报表之Excel操作模块常用方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/87556898

一 Workbook类

1 点睛

Workbook类定义:Workbook(filename[,options]),该类实现创建一个XlsxWriter的Workbook对象。

Workbook类代表整个电子表格文 件,并且存储在磁盘上。

filename(String类型)为创建的Excel文件 存储路径;

options(Dict类型)为可选的Workbook参数,一般作为初始化工作表内容格式,例如值为{'strings_to_numbers':True}表示使用 worksheet.write()方法时激活字符串转换数字。

2 add_worksheet([sheetname])

2.1 点睛 

作用是添加一个新的工作 表,参数sheetname(String类型)为可选的工作表名称,默认为Sheet1。

2.2 代码

#coding: utf-8
import xlsxwriter
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo2.xlsx')
worksheet1 = workbook.add_worksheet()             # Sheet1
worksheet2 = workbook.add_worksheet('Foglio2')    # Foglio2
worksheet3 = workbook.add_worksheet('Data')       # Data
worksheet4 = workbook.add_worksheet()            # Sheet4
#关闭Excel文件
workbook.close()

2.3 效果

3 add_format([properties])

3.1 点睛

作用是在工作表中创建一个新的格式对象来格式化单元格。

参数properties(dict类型)为指定一个格式属性的字典,例如设置一个加粗的格式对象, workbook.add_format({'bold':True})。

通过Format methods(格式化方法)也可以实现格式的设置,等价的设置加粗格式代码如下:

bold = workbook.add_format()
bold.set_bold()

更多格式化方法见 http://xlsxwriter.readthedocs.org/working_with_formats.html

3 add_chart(options)

3.1 点睛

作用是在工作表中创建一个图表对象,内部是通过insert_chart()方法来实现,参数options(dict类型)为图表指定一个字典属性,例如设置一个线条类型的图表对象,代码为 

chart=workbook.add_chart({'type':'line'})

4 close()

作用是关闭工作表文件,如workbook.close()。

二  Worksheet类

1 点睛

Worksheet类代表了一个Excel工作表,是XlsxWriter模块操作Excel内容最核心的一个类,例如将数据写入单元格或工作表格式布局等。 Worksheet对象不能直接实例化,取而代之的是通过Workbook对象调用 add_worksheet()方法来创建。Worksheet类提供了非常丰富的操作 Excel内容的方法。

2 write(row,col,*args)

作用是写普通数据到工作表的单 元格,参数row为行坐标,col为列坐标,坐标索引起始值为0;*args无名字参数为数据内容,可以为数字、公式、字符串或格式对象。

3 write_string()

写入字符串类型数据,例如:worksheet.write_string(0, 0, 'Your text here')

4 write_number()

写入数字类型数据,例如:worksheet.write_number('A2', 2.3451)

5 write_blank()

写入空类型数据,例如:worksheet.write('A2', None)

6 write_formula()

写入公式类型数据,例如:worksheet.write_formula(2, 0, '=SUM(B1:B5)')

7 write_datetime()

写入日期类型数据,例如:worksheet.write_datetime(7, 0,datetime.datetime.strptime('2013-01-23', '%Y-%m-%d'),workbook.add_format({'num_format': 'yyyy-mm-dd'}))

8 write_boolean()

写入逻辑类型数据,例如:worksheet.write_boolean(0, 0, True)

9 write_url()

写入超链接类型数据,例如:worksheet.write_url('A1', 'ftp://www.python.org/')

10 实战

10.1 代码

#coding: utf-8
import xlsxwriter
import math
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo3.xlsx')
worksheet = workbook.add_worksheet()             # Sheet
worksheet.write(0,0, 'Hello')           # write_string()
worksheet.write(1,0,'World')            # write_string()
worksheet.write(2, 0, 2)                # write_number()
worksheet.write(3, 0, 3.00001)          # write_number()
worksheet.write(5, 0, '')               # write_blank()
worksheet.write(6, 0, None)             # write_blank()

#关闭Excel文件
workbook.close()

10.2 结果

11 set_row(row,height,cell_format,options)

作用是设置行单元格的属性。

row(int类型)指定行位置,起始下标为0;

height(float类型)设置行高,单位像素;

cell_format(format类型)指定格式对象;

options(dict类型)设置行hidden(隐藏)、 level(组合分级)、collapsed(折叠)。

11.1 代码

#coding: utf-8
import xlsxwriter
import math
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo4.xlsx')
worksheet = workbook.add_worksheet()             # Sheet1

worksheet.write('A1','Hello')     #在A1单元格写入'Hello'字符串
cell_format = workbook.add_format({'bold':True})   #定义一个加粗的格式对象
worksheet.set_row(0, 40, cell_format)        #设置第1行单元格高度为40像素,且引用加粗格式对象
worksheet.set_row(1,None,None,{'hidden':True})    #隐藏第2行单元格

#关闭Excel文件
workbook.close()

11.2 结果

12 set_column(first_col,last_col,width,cell_format,options)

作用为设置一列或多列单元格属性。

first_col(int类型)指定 开始列位置,起始下标为0;

last_col(int类型)指定结束列位置, 起始下标为0,可以设置成与first_col一样;

width(float类型)设置 列宽;

cell_format(Format类型)指定格式对象;

options(dict 类型)设置行hidden(隐藏)、level(组合分级)、collapsed(折 叠)。

12.1 代码

#coding: utf-8
import xlsxwriter
import math
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo5.xlsx')
worksheet = workbook.add_worksheet()             # Sheet1

worksheet.write('A1','Hello')           #在A1单元格写入'Hello'字符串
worksheet.write('B1', 'World')          #在B1单元格写入'World'字符串
# 定义一个加粗的格式对象
cell_format = workbook.add_format({'bold':True})
# 设置0到1即(A到B) 列单元格宽度为10像素,且引用加粗格式对象
worksheet.set_column(0,1,10,cell_format)
worksheet.set_column('C:D',20)    #设置C到D列单元格宽度为20像素
worksheet.set_column('E:G',None,None,{'hidden':1}) #隐藏E到G列单元格

#关闭Excel文件
workbook.close()

12.2 结果

13 insert_image(row,col,image[,options])

作用是插入图片到指定单元格,支持PNG、JPEG、BMP等图片格式。

row为行坐标,

col为列坐标,坐标索引起始值为0;

参数image(string类型)为图片路径;

参数options(dict类型)为可选参数,作用是指定图片的位 置、比例、链接URL等信息。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/87556898