Excelの操作方法について勉強していきます。
目標としては、楽天証券等の証券口座のcsvファイルからデータを読み込み、Excelで資産管理表、配当管理表を作成していきたいです。
中間目標として、webスクレイピングも勉強し銘柄情報を自動取得できるようになりたいと思っています。
Excelファイルを読み込む
Excelのワークブックは.xlsx という拡張のファイルに保存されます。
現在表示中のシートをアクティブシートと呼びます。
今回は、カレントディレクトリにあるrakuten.xlsx というExcelデータを使用します。
ワークブックを開く
import openpyxl
wb=openpyxl.load_workbook('rakuten.xlsx')
print(type(wb))
出力結果は
<class 'openpyxl.workbook.workbook.Workbook'>
openpyxl とういうモジュールをインポートしopenpyxl.load_workbook() 関数を使用しファイルを開けるようになります。
openpyxl.load_workbook() 関数はファイル名を引数に取り、workbookというデータ型の値を返します。
workbook オブジェクトはExcelファイルのことを表します。
ワークブックからシートを取得する
import openpyxl
wb=openpyxl.load_workbook('rakuten.xlsx')
print(wb.sheetnames) #ワークブックに含まれるシート名一覧
Sheet=wb['rakuten' #ワークブックからシートを取得
print(Sheet) #ワークブックから rakuten シートを取得
print(type(Sheet))
print(Sheet.title) #シート名の文字列を取得
#出力結果は
['rakuten']
<Worksheet "rakuten">
<class 'openpyxl.worksheet.worksheet.Worksheet'> #Worksheetオブジェクトであることがわかります
rakuten
今回のコードでは、まず wb.sheetnames を使用して、Excelファイルに含まれるシート名の一覧を確認しました。
シートが複数ある場合でも、目的のシート名を事前に確認できるため便利です。
次に、Sheet = wb['rakuten']と記述して、rakuten シートを取得しました。
取得したシートは Worksheet オブジェクトで、セルや行、列などを操作するための機能を持っています。
また、print(Sheet.title)を実行すると、取得したシート名を確認できます。
目的のシートを正しく取得できているか確認したいときに便利な機能です。
まとめ
今回は、Pythonの openpyxl を使用してExcelファイルを読み込み、ワークブックとシートの取得方法を学習しました。
openpyxl.load_workbook()でExcelファイルを開くwb.sheetnamesでシート名の一覧を取得するwb['シート名']で目的のシートを取得するSheet.titleでシート名を確認する
ExcelをPythonで操作するための最初の一歩として、ワークブックとシートの関係を理解することができました。
次回は、取得したシートから実際にセルの値を取得する方法について勉強していきます。

コメント