openpyxlで既存のエクセルファイルに文字を書き込みする方法

スポンサードリンク
sample Python
うたたねこ
うたたねこ

openpyxlを使って、既存のエクセルファイルに書き込みをしたい!

そんなお悩みを、Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。

スポンサードリンク

openpyxlで既存のエクセルファイルに書き込み保存するには

「.value」を使います。まずは実行見本をどうぞ。

スポンサードリンク

実行見本

スポンサードリンク

全コード

ひとまず全コードを網羅します。解説は後ほど行います。

import openpyxl

wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
#ws = wb.worksheets[0]

ws['A1'].value = 'aaaaa'

c4 = 'ccccc'
ws['C4'].value = c4

wb.save('output.xlsx')
スポンサードリンク

事前準備

  • openpyxlのインストール

既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。

openpyxlのインストール方法

openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。

pip install openpyxl

※openpyxlを使用したことがある場合は、このインストール作業は不要です。

インストールができなかった場合や、openpyxlの基本的な使い方は下記記事で解説しております。ご参考ください。

スポンサードリンク

解説

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

openpyxlのインポートなどの基礎解説

openpyxlを使うにはインポートが必要です。
インポートなど基本的な使い方は下記記事で解説しております。ご参考ください。

書き込む

下記は、文字を書き込むコードです。

ws['A1'].value = 'aaaaa'

「A1」はセルの「A1」を意味します。

【 ワークシートを入れた変数[‘書き込みたいセル名’].value = ‘書き込みたい文字列や数値’ 】
※数値を書き込む場合、右辺の「’(クォーテーション)」は不要です
( 例:ws[‘A1’].value = 1 )

変数に入った文字や数字をセルに書き込むこともできます。

c4 = 'ccccc'
ws['C4'].value = c4

上記は、「ccccc」という文字列を「c4」という変数に入れ、その変数をセルの「C4」に書き込むよう指定したものです。

実行結果は冒頭の実行見本をご覧ください

セルの指定方法ですが、下記のようなものもあります。

ws.cell(row=1, column=1).value = 'aaaaa'

この方法でも、セルA1に「aaaaa」を書き込むことができます。

()内の「row=1」は1行目、「column=1」は1列目(A列)を指定したことになり、結果「セルA1」に値を書き込むことができます。

スポンサードリンク

うまく動作しない時

エラーが出る

No such file or directory: ○○

これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。

詳しい解説は、下記記事をご参考ください。

Permission denied: ○○

操作しようとしているファイルにアクセスできないというエラーです。
ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。

詳しい解説は、下記記事をご参考ください。

Worksheet ○○ does not exist

「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。

詳しい解説は、下記記事をご参考ください。

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

list index out of range

規定を超える部分を操作しようとした時に出るエラーです。
今回の場合では、実際にないSheet3(シート番号2)などを指定した場合にも起こります。
ファイルとコードを再確認しましょう。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

スポンサードリンク

まとめ

openpyxlで既存のエクセルファイルに文字を書き込みする方法を解説いたしました。

かなり便利で使える手法ですので、ぜひ覚えて活用してみてください。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました