使用 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 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告