pythonを学習し始めたのですが、その中でどうしても分からない部分があり質問させていただきます。
・やりたい事
Excelファイルから値を検索し、セル番地を取得。
取得したセルの下に値を記載。
下記サイトを参考に記載したいセル番地の取得までは出来ているのですが
実際に書き込みを実施する部分でエラーが発生します。
※参考サイト https://ramunememo.hatenablog.com/entry/2021/09/ …
参考サイトの「シート全体を検索」を使用してlistに希望のセル番地が取得できていることは確認できています。
・エラー部分
for itm in result:
ws[itm].value = 値
エラー内容が「ValueError: ['I6'] is not a valid coordinate or range」なので
ws[itm]のitmがきちんと取得できていないと考え、
ws[str(itm)]
に変更しましたが[]や''までも文字列として入ってしまうためエラー。
replaceを使用して[]や''を消そうと
ws[itm.replace('[', '').replace(']', '').replace("'", '')]
としましたが、「AttributeError: 'list' object has no attribute 'replace'」とエラーが出ます。
このような場合、どのようにすれば思うような動きをさせることが出来るのでしょうか。
初歩的な内容で申し訳ありませんが、ご教授お願い致します。
環境:
Python 3.10.7 64bit
Excel2021
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こちらで、上記参考サイトのスクリプトを実行してみましたが、
正常に動作します。
def main より前は、参考サイトのままです。
def main 以降は以下のようにしました。
(本サイトにアップするとインデントがずれます)
画像の右上側が実行前のシート、右下側が実行後のシートの内容です。
def main():
filename = 'Book1.xlsx'
wb = openpyxl.load_workbook(filename)
ws = wb['Sheet3']
result = search_entire_sheet(ws, '山田')
print(result)
for itm in result:
ws[itm] = "XYZ"
wb.save(filename)
if __name__ == '__main__':
main()
実行結果:
['C7', 'D9']
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- その他(プログラミング・Web制作) Pythonでエクセルファイルの列を指定してスライス 3 2022/08/28 17:35
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
ActiveCell.FormulaR1C1の変数
-
マクロで"#N/A"のエラー行を削...
-
String""から型'Double'への変...
-
VBでSQL文のUPDATE構文を使った...
-
お助けください!VBAのファイル...
-
【VB.NET】 パワポ操作を非表示で
-
【VBA】ワークブックを開く時に...
-
【VBA】findの検索条件における...
-
文字列内で括弧を使うには
-
オートシェイプの削除時のエラ...
-
【VBA】if Like Or Andの組み合...
-
【delphi】Integer型とString型...
-
VBA Find でオートメーションエ...
-
VBA データ(特定値)のある最...
-
エクセルVBAで埋め込みグラフ(C...
-
検索Find処理を2重、3重とす...
-
Excel VBA のFunctionプロシー...
-
Excel vbaについての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
String""から型'Double'への変...
-
文字列内で括弧を使うには
-
お助けください!VBAのファイル...
-
On ErrorでエラーNoが0
-
VBA データ(特定値)のある最...
-
マクロで"#N/A"のエラー行を削...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
「実行時エラー '3167' レコー...
-
フランスの生年月日(jj/mm/aaaa)
-
Filter関数を用いた結果、何も...
-
実行時エラー 438 の解決策をお...
-
ACCESSで値を代入できないとは?
-
【Access】Excelインポート時に...
-
【VBAエラー】Nextに対するFor...
-
【VB.NET】 パワポ操作を非表示で
-
VBでSQL文のUPDATE構文を使った...
おすすめ情報