使用 Python 中的 xlsxwriter 模块在 Excel 表格中绘制股票图表


在绘制股票图表时,诸如数据分析和增长率监控等因素非常重要。对于任何企业要蓬勃发展和扩张,都需要正确的策略。这些策略建立在深入的基础研究之上。Python 编程帮助我们创建和比较数据,这些数据反过来可用于研究业务模型。Python 提供了几种方法和函数,通过这些方法和函数,我们可以绘制图表、分析增长并深入了解突然的变化。

在本文中,我们将讨论一项此类操作,其中我们将使用 Python 编程在 Excel 表格中绘制股票图表。在深入探讨主题之前,让我们快速浏览一下本文的概述。本文分为两个部分:

什么是 xlsxwriter 模块?

它是一个交互式的 Python 模块,可帮助程序员使用 Python 编程处理 Excel 表格。我们可以追加、删除和执行多种操作,而无需实际使用电子表格本身。我们可以通过在命令行上传递以下语句来安装此模块:

pip install XlsxWriter 

模块安装完成后,我们可以在 IDE 中导入它并开始着手项目。

如何创建 Excel 文档?

我们将使用“workbook()”方法来创建 Excel 文档。我们将传递一个必选参数,该参数将用作文档的名称。我们需要传递正确的扩展名以及文件名,以防止出现任何错误。

import xlsxwriter
newwork = xlsxwriter.Workbook('new_document.xlsx')
newsheet = newwork.add_worksheet()

在这里,我们导入了“XlsxWriter”模块并使用 workbook() 函数生成了一个新文档。我们还使用“add_worksheet()”为操作创建了一个新的工作表。

还有其他几个工作簿对象可用于向 Excel 表格添加详细信息。我们只会讨论绘制股票图表所需的方法。

使用的方法

我们将使用的方法有:

add_format() - 此方法将指定特定对象的格式,例如粗体、筛选器、日期、字体等。

add_chart() - 此方法将帮助我们为电子表格创建图表。我们将使用“type”命令指定图表的类型。

{ ‘type’ : ‘stock’ } 

add_series() - 此方法将为要存储在单元格中的数据创建一个完整的系列。我们甚至可以在这里指定格式。这里,工作表信息通过“! $”命令传递。

示例

以下示例打印一个带有股票图表的 Excel 表格。现在我们将了解此股票图表的详细信息以及我们如何使用工作簿函数及其方法。

这里,

  • 我们导入了“xlsxwriter 模块”并创建了一个名为“new_document”的 Excel 文档。

  • 我们以“newssheet”的形式添加了一个新的工作表。

  • 我们使用“add_format”方法添加了粗体格式。

  • 我们使用“add_chart”方法添加了一个股票图表。

  • 我们初始化了 Excel 文档的标题或标题。

  • 我们传递了需要上传到包含信息的文件中的数据。

  • 我们设置了文档的列范围并为图表添加了系列。

  • add_series 方法帮助我们在工作表中添加一系列数据。我们将与每个工作表相关的信息以“$ !”符号的形式传递。

  • 例如,如果我们想为单元格 A2 到 A6 提供信息,则传递命令“!$A$2 : $A$6”。

  • 在此之后,我们添加了与图表相关的信息。我们使用“set_title()”方法设置图表标题名称。

  • 我们设置了绘制股票图表的 X 轴和 Y 轴信息。在 X 轴上,我们传递了名称,在 Y 轴上,我们传递了增长点

  • 绘图是通过“set_x_axis()”和 set_y_axis() 方法完成的

  • 最后,我们通过传递命令“newwork.close()”关闭工作簿。

import xlsxwriter
newwork = xlsxwriter.Workbook('new_document.xlsx')
newsheet = newwork.add_worksheet()
Fbold = newwork.add_format({"bold" : 2})
Schart = newwork.add_chart({"type" : "stock"})
titles = ["Name", "starting package", "current package", "expected growth
points"]
entry_data = [['Rajesh', 'ravi', 'arun', 'neha', 'Devi'], [25000, 28000, 36000, 22000, 40000], [28000, 30000, 40000, 25000, 50000],[12, 10, 15, 8, 20 ]]
newsheet.write_row("A1", titles, Fbold)
for eachrow in range(5):
   newsheet.write(eachrow+1, 0, entry_data[0], [eachrow])
   newsheet.write(eachrow+1, 1, entry_data[1], [eachrow])
   newsheet.write(eachrow+1, 2, entry_data[2], [eachrow])
   newsheet.write(eachrow+1, 3, entry_data[3], [eachrow])
newsheet.set_column("A:D", 12)
Schart.add_series({"class": "= sheet1 !$A$2: $A$6", "data": "= sheet1 !$B$2: $B$6"})
Schart.add_series({"class": "= sheet1 !$A$2: $A$6", "data": "= sheet1 !$C$2: $C$6"})
Schart.add_series({"class": "= sheet1 !$A$2: $A$6", "data": "= sheet1 !$D$2: $D$6"})
Schart.set_title({'name': 'package details'})
Schart.set_x_axis({'name': 'Name'})
Schart.set_y_axis({'name': 'Growth'})
newsheet.insert_chart("F10", Schart)
newwork.close()

结论

在本文中,我们了解了“xlsxwriter 模块”的重要性及其在绘制股票图表中的用途。我们讨论了涉及的各种方法及其应用。我们讨论了使用 Python 编程处理 Excel 表格数据的详细信息。

更新于: 2023 年 3 月 9 日

189 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告