您的位置:首页 > 编程语言 > Python开发

Python学习笔记——XlsxWriter实现Excle的简单操作

2019-03-13 09:43 211 查看

XlsxWriter简介

XlsxWriter是一个Python模块,可用于在Excel 2007+ XLSX文件中写入多个工作表的文本,数字,公式和超链接。它支持格式化等功能。可到官网了解更多详情,官网链接:https://xlsxwriter.readthedocs.io/

安装XlsxWriterd

pip install XlsxWriter

实例1:创建一个xlsx文件,并写入内容

import xlsxwriter

# 创建工作簿并添加工作表
workbook = xlsxwriter.Workbook('demo1.xlsx')
worksheet = workbook.add_worksheet()

# 写入数据到A1
worksheet.write('A1', 'Hello world')

# 关闭excel文件
workbook.close()

实例2:xlsx的的简单应用

假设我们有一些关于我们想要转换为Excel XLSX文件的月度支出的数据:

expenses = (
['Rent', 1000],
['Gas',   100],
['Food',  300],
['Gym',    50],
)

要做到这一点,我们可以从一个小程序开始,如下所示:

import xlsxwriter

# 创建工作簿并添加工作表。
workbook = xlsxwriter.Workbook('Expenses01.xlsx')  # 设置输出路径为当前目录下
worksheet = workbook.add_worksheet()

# 下面是我们想要写入工作表的一些数据。
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')
worksheet.write(row, 1, '=SUM(B1:B4)')

# 不要忘记关闭文件
workbook.close()

运行程序后,我们可以在刚刚设置的目录下找到‘Expenses01.xlsx’文件。
Expenses01.xlsx 打开后如下图所示:

实例3:向xlsx文件添加格式

在上一节中,我们使用Python和XlsxWriter模块创建了一个简单的电子表格。

这将所需的数据转换为Excel文件,但看起来有点光鲜。为了使信息更清晰,我们想添加一些简单的格式,如下所示:

重点观察注释部分即可,大部分代码与实例2相同,对比实例2与实例三的异同

 import xlsxwriter

workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()

# 使用add_fromat方法设置单元格的格式
bold = workbook.add_format({'bold': True})		# 添加粗体格式
money = workbook.add_format({'num_format': '$#,##0'})		# 添加数字格式

# 在worksheet的write方法中的第三个参数写上刚刚设置的格式参数,即可为单元格填充格式
worksheet.write('A1', 'Item', bold)	# 设置标题栏为粗体
worksheet.write('B1', 'Cost', bold)

expenses = (
['Rent', 1000],
['Gas',   100],
['Food',  300],
['Gym',    50],
)
row = 1
col = 0

for item, cost in (expenses):
worksheet.write(row, col,     item)
worksheet.write(row, col + 1, cost, money) # 设置数字格式
row += 1

worksheet.write(row, 0, 'Total',       bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)

workbook.close()

以上内容参考自XlsxWrite官网

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: