5 教程1:创建一个简单的 XLSX 文件

优质
小牛编辑
123浏览
2023-12-01

让我们开始使用Python和XlsxWriter模块创建一个简单的Excel电子表格。

假设我们有一些要转换为Excel Xlsx文件的每月支出数据:

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

那么,我们可以从如下所示的示例程序开始:

import xlsxwriter

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()

# Some data we want to write to the worksheet.
expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food',  300],
    ['Gym',    50],
)

# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0

# Iterate over the data and write it out row by row.
for item, cost in (expenses):
    worksheet.write(row, col,     item)
    worksheet.write(row, col + 1, cost)
    row += 1

# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')

workbook.close()

如果运行上述代码,我们将会得到一个如下所示的Excel电子表格:

这是一个很简单的示例,但是涉及的步骤涵盖了所有使用XlsxWriter的程序。下面,我们将其分解为单独的部分。

第一步是导入模块:

import xlsxwriter

下一步是使用Workbook()构造函数创建一个新的工作簿对象。

Workbook()接受一个非可选的参数,也就是我们要创建的Excel文件名:

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

> 注意: > XlsxWriter只能创建新文件,不能读取或修改Excel文件.

然后,通过add_worksheet()方法使用工作簿对象添加新的工作表 :

worksheet = workbook.add_worksheet()

默认情况下,Excel电子表格中的工作表名称为Sheet1,Sheet2等等,但我们也可以指定一个工作表名称:

worksheet1 = workbook.add_worksheet()        # 默认为Sheet1
worksheet2 = workbook.add_worksheet('Data')  # Data
worksheet3 = workbook.add_worksheet()        # 默认为Sheet3

然后,我们可以使用工作表对象的write()方法写入数据:

worksheet.write(row, col, some_data)

> 注意 在XlsxWriter中,行和列的索引为零。工作表中的第一个单元格A1为(0, 0)。

因此,在我们的示例中,我们遍历数据并将其写入的代码如下所示:

# 遍历数据并逐行写入
for item, cost in (expenses):
    worksheet.write(row, col,     item)
    worksheet.write(row, col + 1, cost)
    row += 1

然后,我们在第二列中添加一个公式来计算项目的总数:

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

最后,我们通过工作表的close()方法关闭Excel文件:

workbook.close()

这样就完成了。现在我们有了一个可以通过Excel和其他电子表格软件读取的xlsx文件。

在下一节中,我们将看到如何使用XlsxWriter模块添加其他格式和其他Excel功能。