Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python-XlsxWriterモジュールを使用してExcelシートに株価チャートをプロットする


株価チャートは、時間枠にわたってプロットされた株価を示す単なる価格チャートであり、いくつかの重要な情報セットを示しています-

  • 銘柄記号と交換。
  • チャート期間
  • 価格変更
  • 最後の変更
  • ボリューム

# from datetime libraray import datetime method
from datetime import datetime
# import xlsxwriter library
import xlsxwriter
# Workbook() takes one, non-optional, argument which is the filename #that we want to create.
workbook = xlsxwriter.Workbook('chart_stock.xlsx')
# The workbook object is then used to add new worksheet via the #add_worksheet() method.  
worksheet = workbook.add_worksheet()
# Create a new Format object to formats cells in worksheets using #add_format() method .
# here we create bold format object .
bold = workbook.add_format({'bold': 1})
# here we create date format object
date_format = workbook.add_format({'num_format': 'dd/mm/yyyy'})
# Create a chart object that can be added to a worksheet using #add_chart() method.
# here we create a stock chart object .
chart = workbook.add_chart({'type': 'stock'})
# Add the worksheet data that the charts will refer to.
headings = ['Date', 'High', 'Low', 'Close']
data = [
   ['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05'],
   [27.2, 25.03, 19.05, 20.34, 18.5],
   [23.49, 19.55, 15.12, 17.84, 16.34],
   [25.45, 23.05, 17.32, 20.45, 17.34],
]
# Write a row of data starting from 'A1' with bold format .
worksheet.write_row('A1', headings, bold)
# Filling the data in an excel sheet
for row in range(5):
   # convert a string type date into date of rspective format.
   date = datetime.strptime(data[0][row], "% Y-% m-% d")
   # apply a date_format object on this particular cell
   worksheet.write(row + 1, 0, date, date_format)
   # write data in the respective cells
   worksheet.write(row + 1, 1, data[1][row])
   worksheet.write(row + 1, 2, data[2][row])
   worksheet.write(row + 1, 3, data[3][row])
# width of A to D column set to 11.
worksheet.set_column('A:D', 11)
# Add a series for each of the High-Low-Close columns.
# using add_series method.
# note : spaces is not inserted in b / w
# = and Sheet1, Sheet1 and !
# if space is inserted it throws warning.
# data take from A2 to A6 and B2 to B6 respectively.
chart.add_series({
   'categories': '= Sheet1 !$A$2:$A$6',
   'values': '= Sheet1 !$B$2:$B$6',
})  
# data take from A2 to A6 and C2 to C6 respectively.
chart.add_series({
   'categories': '= Sheet1 !$A$2:$A$6',
   'values':     '= Sheet1 !$C$2:$C$6',
})  
# data take from A2 to A6 and D2 to D6 respectively.
chart.add_series({
   'categories': '= Sheet1 !$A$2:$A$6',
   'values': '= Sheet1 !$D$2:$D$6',
})  
# Add a chart title  
chart.set_title ({'name': 'High-Low-Close'})  
# Add x-axis label
chart.set_x_axis({'name': 'Date'})  
# Add y-axis label
chart.set_y_axis({'name': 'Share price'})  
# add chart to the worksheet with given offset values at the top-#left corner of a chart is anchored to cell E9
worksheet.insert_chart('E9', chart)  
# Finally, close the Excel file via the close() method.  
workbook.close()

  1. PythonXlsxWriterモジュールを使用してExcelシートにチャートシートを追加する

    Python独自のライブラリに加えて、個々の作成者によって作成された多くの外部ライブラリがあり、Pythonで追加機能を作成するのに最適です。 Xlsxライブラリは、Pythonプログラムからのデータを含むExcelファイルを作成するだけでなく、グラフも作成するそのようなライブラリの1つです。 円グラフの作成 次の例では、xlsxwriterライターを使用して円グラフを作成します。ここでは、最初にワークブックを定義し、次のステップでそれにワークシートを追加します。データを定義し、円グラフを定義する列に基づいて、データがExcelファイルに保存される列を決定します。ワークシート内の特定の場所。

  2. Pythonopenpyxlモジュールを使用してExcelファイルの読み取りと書き込み

    Pythonは、Excelファイルを操作するためのopenpyxlモジュールを提供します。 このモジュールでは、Excelファイルの作成方法、書き込み方法、読み取り方法などを実装できます。 openpyxlモジュールをインストールするには、コマンドプロンプトでこのコマンドを記述できます pip install openpyxl シートにタイトル名を付けたい場合 サンプルコード import openpyxl my_wb = openpyxl.Workbook() my_sheet = my_wb.active my_sheet_title = my_sheet.title print