XlsxWriter是一个Python模块,可用于在Excel 2007+ XLSX文件中写入多个工作表的文本,数字,公式和超链接。它支持格式化等功能。可到官网了解更多详情,官网链接:https://xlsxwriter.readthedocs.io/
pip install XlsxWriter
import xlsxwriter
# 创建工作簿并添加工作表
workbook = xlsxwriter.Workbook('demo1.xlsx')
worksheet = workbook.add_worksheet()
# 写入数据到A1
worksheet.write('A1', 'Hello world')
# 关闭excel文件
workbook.close()
假设我们有一些关于我们想要转换为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 打开后如下图所示:
在上一节中,我们使用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官网。