📅  最后修改于: 2023-12-03 15:19:18.123000             🧑  作者: Mango
XlsxWriter 是一个 Python 模块,用于在 Excel XLSX 文件中创建、写入和格式化工作簿和工作表。它支持许多 Excel 功能并且易于使用。
在本文中,我们将介绍如何使用 XlsxWriter 模块创建 Excel 工作表,并在其中绘制组合图表。
以下是本文中我们将要涵盖的主题:
要安装 XlsxWriter 模块,可以使用 pip:
pip install XlsxWriter
要创建 Excel 工作表并向其中添加数据,可以使用 XlsxWriter 模块提供的 API。我们先导入 XlsxWriter 模块:
import xlsxwriter
接着,我们可以使用 Workbook
方法创建一个新的 Excel 工作簿:
workbook = xlsxwriter.Workbook('chart.xlsx')
然后,我们可以在工作簿中创建一个新的工作表:
worksheet = workbook.add_worksheet()
接下来,我们可以通过 write
方法向工作表中添加数据:
# 添加表头
worksheet.write('A1', 'Month')
worksheet.write('B1', 'Sales')
worksheet.write('C1', 'Expenses')
# 添加数据
data = [
['January', 30000, 20000],
['February', 25000, 22000],
['March', 20000, 25000],
['April', 28000, 22000],
['May', 35000, 18000],
['June', 40000, 20000],
]
for row, (month, sales, expenses) in enumerate(data, 1):
worksheet.write(row, 0, month)
worksheet.write(row, 1, sales)
worksheet.write(row, 2, expenses)
最后,我们必须调用 close
方法关闭工作簿:
workbook.close()
要在 Excel 工作表中绘制组合图表,我们需要使用 add_chart
方法创建一个新的图表对象。接着,我们可以使用 add_series
方法添加数据系列,并指定数据系列的类型、名称和数据区域。最后,我们使用 set_title
方法设置图表标题并使用 insert_chart
方法将图表插入工作表中。
以下是一个示例程序,该程序创建一个包含两个数据系列的组合图表:
import xlsxwriter
# 创建 Excel 工作簿和工作表
workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
# 添加数据
data = [
['January', 30000, 20000],
['February', 25000, 22000],
['March', 20000, 25000],
['April', 28000, 22000],
['May', 35000, 18000],
['June', 40000, 20000],
]
# 添加表头
worksheet.write('A1', 'Month')
worksheet.write('B1', 'Sales')
worksheet.write('C1', 'Expenses')
# 添加数据
for row, (month, sales, expenses) in enumerate(data, 1):
worksheet.write(row, 0, month)
worksheet.write(row, 1, sales)
worksheet.write(row, 2, expenses)
# 创建图表
chart = workbook.add_chart({'type': 'column'})
# 添加数据系列
chart.add_series({
'name': '=Sheet1!$B$1',
'categories': '=Sheet1!$A$2:$A$7',
'values': '=Sheet1!$B$2:$B$7',
})
chart.add_series({
'name': '=Sheet1!$C$1',
'categories': '=Sheet1!$A$2:$A$7',
'values': '=Sheet1!$C$2:$C$7',
'y2_axis': 1,
})
# 设置标题
chart.set_title({'name': 'Sales and Expenses'})
# 插入图表
worksheet.insert_chart('E2', chart)
# 关闭工作簿
workbook.close()
以上程序会输出一个包含两个数据系列的组合图表,其中一个数据系列使用左侧 Y 轴,另一个数据系列使用右侧 Y 轴。
在本文中,我们介绍了如何使用 XlsxWriter 模块在 Excel 工作表中绘制组合图表。我们先创建了一个新的 Excel 工作簿,并向其中添加数据。接着,我们使用 add_chart
方法创建了一个新的图表对象,并使用 add_series
方法添加了数据系列。最后,我们使用 insert_chart
方法将图表插入工作表中。