【Python】エクセルデータを配列として出力する|OpenPyXL基礎

エクセルデータを配列として出力する|OpenPyXL基礎_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

OpenPyXLを使用すると、PythonからExcelを操作することができます。

本記事では、OpenPyXLを使用したエクセルデータを配列として出力する方法について、詳しくご説明します。

こんな人に読んでほしい
  • Pythonを使用してExcelを操作したい人
  • OpenPyXLを使用した、エクセルデータを配列として出力する方法を知りたい人
levtech-ad

エクセルデータを配列として出力

セル範囲を指定して出力

以下データが入ったExcelファイルについて、指定セル範囲のデータを配列として出力する方法をご紹介します。

Sample (animal list)

セル範囲をA1からC6で指定して、配列データを出力してみます。

#input
import openpyxl

wb = openpyxl.load_workbook("animal.xlsx")
ws = wb.worksheets[0]

for row in ws["A1:C6"]:
    values = []
    for col in row:
        values.append(col.value)
    print(values)
#output
['No.', '名前', 'Name']
[1, '犬', 'dog']   
[2, '兎', 'rabbit']
[3, '牛', 'cow']   
[4, '馬', 'horse'] 
[5, '狐', 'fox']

先頭列にデータがある行のみ出力

以下データが入ったExcelファイルについて、先頭列(A列)にデータがある行のみ、配列として出力する方法をご紹介します。

Sample (animal list2)

「min_row=2」とすることで、先頭列にデータがない行は「None」となります。

そこで「None」の行を出力しないことで、先頭列にデータがある行のみ、配列として出力してみます。

#input
import openpyxl

wb = openpyxl.load_workbook("animal001.xlsx")
ws = wb.worksheets[0]

for row in ws.iter_rows(min_row=2):
    if row[0].value is None:
        continue
    values = []
    for col in row:
        values.append(col.value)
    print(values)
#output
[1, '犬', 'dog']
[3, '牛', 'cow']
[5, '狐', 'fox']

空欄がない行のみ出力

以下データが入ったExcelファイルについて、空欄がない行のみ、配列として出力する方法をご紹介します。

Sample (animal list3)

「min_row=2」とすることで、先頭列にデータがない行は「None」となります。

そこで「None」の行を出力しないことで、先頭列にデータがある行のみ、配列として出力してみます。

#input
import openpyxl

def is_empty(cell):
    return cell.value is None or not str(cell.value).strip()

wb = openpyxl.load_workbook("animal002.xlsx")
ws = wb.worksheets[0]

for row in ws.iter_rows(min_row=2):
    if any(is_empty(c) for c in row):
        continue
    values = []
    for col in row:
        values.append(col.value)
    print(values)
#output
[3, '牛', 'cow']

A~C列まで、すべてのデータがある行のみ出力されました。

まとめ

この記事では、OpenPyXLを使用したエクセルデータを配列として出力する方法について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました