プログラム 技術

PythonでExcelを操作する

前回に引き続き実現したいことのための一環としてPythonでExcelを操作してみようと思います
そのために【openpyxl】というライブラリを使用しています

バージョン
OSWindows 11 Pro
Python3.12
openpyxl3.2.0b1
関連記事
Pythonでファイル読み込み - ナストンのまとめ
Pythonでファイル読み込み - ナストンのまとめ

ちょっと私的なプログラムをPythonで作成しようとしてその初歩的なことのメモとなります バージョンOSWindows ...

続きを読む

セルの値を取得する

Excelを開いてシート分ループし、セルを1個ずつ取得しています

# ライブラリの読み込み
import openpyxl

# Excelファイルの読み込み
wb=openpyxl.load_workbook(r"Excelのパス")

# シート分ループ
for sheet in wb:
    print(sheet.title)
    for row in sheet:
        for cell in row:
            print(cell.value)

マクロが含まれる場合の注意点

Excelを開く際に引数に『keep_vba』をTrueして渡す必要があるそうです。これをしないと内容を変更して保存する際に正しく保存できないそうです

wb = openpyxl.load_workbook(r"マクロが含まれるExcelのパス", keep_vba=True)
# 保存する際におかしな状態で保存されてしまう
wb.save("Book1.xlsm")

シート上のデータ最終行列の取得

シートに記載されているデータの最終行列を取得する関数が用意されている

for sheet in wb:
    print(f"{sheet.min_row=} {sheet.min_column=} {sheet.max_row=} {sheet.max_column=}")

# 実際に動かした結果
# sheet.min_row=1 sheet.min_column=1 sheet.max_row=3 sheet.max_column=32

セルの値を更新する

セルの値を更新する方法は2パターンあり、A1といった指定の仕方と行・列・値の指定の仕方があります

rng1 = sheet["A1"]
rng1.value = 123
print(rng1.value) # 123
rng2 = sheet.cell(2, 2, "abc")
print(rng2.value) # abc

実際にさわってみて

実際にPythonでExcelを操作してみて以前PowerShellでExcelを操作したときとあまり変わらない印象を持ちました

関連記事
PowerShellでファイル読み込み(Excel) - ナストンのまとめ
PowerShellでファイル読み込み(Excel) - ナストンのまとめ

Excelファイルを読み込んでみる 読み込むファイルの種類 今回、紹介するファイル読み込みは以下の拡張子が対象です・Ex ...

続きを読む

会社紹介

私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています

会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造

この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています。

ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します

ホームページ
アドバンスド・ソリューション株式会社
アドバンスド・ソリューション株式会社

アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...

サイトへ移動

お問い合わせ
お問い合わせ  | アドバンスド・ソリューション株式会社
お問い合わせ | アドバンスド・ソリューション株式会社

お問い合わせはこちら

-プログラム, 技術
-,