python xlsxwriter 学习笔记(三)

本文介绍xlsxwriter库的基础使用方法,包括创建和管理Excel工作簿、工作表,设置文档属性及图表绘制等内容,帮助读者掌握利用Python批量处理Excel的技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xlsxwriter 学习笔记之工作簿类

xlsxwriter是python中操作excel的非常全面高效的库。它可以帮助我们高效快速,大批量的,自动化的操作excel,可以帮助我们进行写入操作,可以写数据,画图能完成大部分常用的excel操作,如果想要读取excel则需要另一个库xlrd。对于日常进行大量的excel的数据分析和处理工作的人来说,这个库可以帮助我们减少大量的重复性工作,实现自动化。有了这个库,python就可以在一些工作上替代VBA,让我们的办公工具更加单一简单。因为公司需要,本人开始学习了解。

Workbook类是XlsxWriter模块公开的主类,下面学习包括:将新工作表添加到工作簿,创建图表对象到工作簿,设置文档属性,得到工作簿中的工作表对象列表。

1.工作簿对象

import xlsxwriter

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

worksheet.write(0, 0, 'Hello Excel')
# 记得要关闭工作簿哦
workbook.close()

工作簿对象有很多参数,有些可能不太常用,所以就先学习下面的这些参数。

strings_to_numbers:write()尽可能使用的方法将字符串转换为数字,float()以避免Excel警告“存储为文本的数字”。默认是False

workbook = xlsxwriter.Workbook(filename, {'strings_to_numbers': True})

strings_to_formulas:write()将字符串转换为公式的方法。默认是True。要禁用此选项,请使用:

workbook = xlsxwriter.Workbook(filename, {'strings_to_formulas': False})
 

strings_to_urls:write()将字符串转换为url的方法。默认是True。要禁用此选项,请使用:

workbook = xlsxwriter.Workbook(filename, {'strings_to_urls': False})

nan_inf_to_errors:write()和write_number()方法,将naninf和-inf认为是Excel错误。Excel不处理NAN / INF的号码,因为它们映射到产生错误码公式解决方法#NUM!#DIV/0!。默认是False。要启用此选项,请使用:

workbook = xlsxwriter.Workbook(filename, {'nan_inf_to_errors': True})

default_date_format:write_datetime()未给出显式格式时的方法。

xlsxwriter.Workbook(filename, {'default_date_format': 'dd/mm/yy'})

2.将新工作表添加到工作簿。 

add_worksheet()方法将新工作表添加到工作簿。应将至少一个工作表添加到新工作簿中。

worksheet1 = workbook.add_worksheet()           # Sheet1
worksheet2 = workbook.add_worksheet('Foglio2')  # Foglio2
worksheet3 = workbook.add_worksheet('Data')     # Data
worksheet4 = workbook.add_worksheet()           # Sheet4

workbook可以创建单元格的格式对象,方便指定单元格的格式 

# workbook可以创建单元格的格式对象,方便指定单元格的格式
format1 = workbook.add_format(props)
format2 = workbook.add_format()

 3.创建图表对象到工作簿。

workbook.add_chart()

这样我们就可以用python操作excel进行画图了,库提供了area,bar,column,doughnut,line,pie,radar,scatter,stock这些图表样式可供我们选择。

chart = workbook.add_chart({'type': 'column'})
# subtype 用于定义可用的图表子类型:
workbook.add_chart({'type': 'bar', 'subtype': 'stacked'})


# 将新的add_chartsheet添加到工作簿。该sheetname参数是可选的。如果未指定,则将遵循默认的Excel约定,即Chart1,Chart2等
workbook.add_chartsheet([sheetname])

图表只能插入工作表一次。如果需要几个类似的图表,则必须分别创建每个图表 add_chart()

4.设置文档属性

workbook.set_properties()

属性都是可选的,应以字典格式传递,如下所示:

workbook.set_properties({
    'title':    'This is an example spreadsheet',
    'subject':  'With document properties',
    'author':   'John McNamara',
    'manager':  'Dr. Heinz Doofenshmirtz',
    'company':  'of Wolves',
    'category': 'Example spreadsheets',
    'keywords': 'Sample, Example, Properties',
    'created':  datetime.date(2018, 1, 1),
    'comments': 'Created with Python and XlsxWriter'})

5.得到工作簿中的工作表对象列表

workbook.worksheets()

返回工作簿中的工作表列表。如果要在工作簿中的每个工作表上重复操作,这个方法非常有用。

workbook.get_worksheet_by_name()

通过工作表的名字得到工作簿中的工作表对象。

for worksheet in workbook.worksheets():
    worksheet.write('A1', 'Hello')


worksheet = workbook.get_worksheet_by_name('Sheet1')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值