openpyxlを使って縦一列の値をリストで取得する方法
PythonでExcelを扱う際にopenpyxlを使うケースは多いが、今回はそんなopenpyxlに関する備忘録をこちらに書き残す。
openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.9 documentation
表題の通り、openpyxlを用いて指定したワークシートの縦一列のみを取得するサンプルについて書く。
取得した値はリスト形式で取得するようにしている。
import openpyxl file_path = "Excelのファイルパス" sheet_name = "対象のシート" wb = openpyxl.load_workbook(file_path) ws = wb[sheet_name] # B列をすべて取得(指定はBでもbでも良い) result_list = list(map(lambda c: c.value, ws["b"])) print(result_list) # => [ "foo", "bar", ... ]
ws[列]で取得可能
上に書いたとおりws[列]
で対象の列をすべて取得することができる。
それをlistやmapを通してリストにした形である。
なお、下記のようにそのまま取得した場合、
print(ws["B"])
tuple形式で出力される。
(<Cell 'シート名'.B1>, <Cell 'シート名'.B2>, ...)
以上です。