Python 操作Excel表格(1) —— 用xlsxwriter创建并填写Excel表格

最近在工作中需要用到Python来把一些内容写入到Excel表格来生成测试报告,查阅了一些资料,今天整理如下,以便于以后查阅。
这一篇博客主要整理“写入”到Excel表格的模块xlsxwriter。这个模块可以直接使用pip安装。
如果是Python2:

pip install xlsxwriter

如果是Python3:

pip3 install xlsxwriter

1. xlsxwriter模块介绍

实际上python中,除了xlsxwriter 模块之外,xlwt 模块也可以“写”操作Excel表格。两个模块的用法基本上是一致的,但是xlwt 模块只能支持xls格式的表格,而2007版以后的Excel表格全部都是xlsx格式。所以我这里还是推荐使用xlsxwriter 模块。

xlsxwriter 模块可以向Excel表格中写入文本、数字和公式。同时也支持格式化、图像、图表、页面设置、自动筛选、条件格式化等许多功能。

xlsxwriter 模块的功能非常强大,但是它也有一个巨大的缺点:不支持“读”Excel表格,也不能修改已经存在的Excel表格。也就是说,假如你已经用该模块生成了一个Excel表格,后面又发现这个表格中有一个数据填错了,那么对不起,不能用xlsxwriter 模块去修改这个表格,只能去重新生成这个表格。

2 创建并填写一个表格

xlsxwriter 模块创建一个Excel表格并在表格中填入数据。

import xlsxwriter

# 创建Excel表格helloExcel.xlsx,并添加一个sheet名叫helloSheet
# workbook指向helloExcel.xlsx,worksheet指向helloSheet
workbook = xlsxwriter.Workbook('helloExcel.xlsx')
worksheet = workbook.add_worksheet('helloSheet')

# 需要写入的数据
expenses = (
    ['Rent', 1000],
    ['Gas', 100],
    ['Food', 300],
    ['Gym', 50],
)

row = 0
col = 0

# 按照行和列写入数据
for item, cost in (expenses):
    worksheet.write(row, col, item)
    worksheet.write(row, col + 1, cost)
    row += 1

worksheet.write(row, 0, 'Total')

# 调用Excel自身的公式SUM
worksheet.write(row, 1, '=SUM(B1:B4)')

# 关闭并保存表格内容
workbook.close()

这里写图片描述

2.1 创建Excel表格文件

workbook = xlsxwriter.Workbook('helloExcel.xlsx')

这一句创建了一个名字叫做helloExcel.xlsx Excel表格文件。需要注意的是,Workbook() 函数必须要有参数,参数即为Excel表格的名字。

2.2 创建sheet工作表

worksheet = workbook.add_worksheet('helloSheet')

这一句在workbook 表格对象中创建了一个名字叫做helloSheet 的工作表。需要注意的是,add_worksheet() 函数可以有参数,也可以不要参数,当有参数的时候,参数就是sheet的名字,没有参数时sheet的按照序号排列

worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('helloSheet')
worksheet = workbook.add_worksheet()

如上面的代码,则为
这里写图片描述

2.3 在sheet工作表填写内容

worksheet.write(row, col, some_data)

write() 函数将some_data写入到worksheet 指向的工作表的第row行,第col列。
在Excel表格中行row和列col都是从0开始,也就是说A1 单元格的坐标为(0,0)
还可以这样写:

worksheet.write('A1', some_data)

2.4 调用Excel自身的公式

worksheet.write(row, col, '=SUM(B1:B4)')

从这一句可以看出,如果我们将需要写入到表格的内容some_data,写成Excel本身的公式调用也是可以的。

2.5 关闭表格并保存内容

workbook.close()

这一句非常关键,如果没有这一句,那么创建的Excel表格将不会被保存。

猜你喜欢

转载自blog.csdn.net/weixin_40528417/article/details/80872416