
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お助けください!VBAのファイル...
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
python初心者です。
-
レコード登録時に「演算子があ...
-
【Access】Excelインポート時に...
-
「実行時エラー '3167' レコー...
-
Perlのエラーについてご教授く...
-
ApplicationとWorksheetFunctio...
-
【VB.NET】 パワポ操作を非表示で
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
.VBSだとADODBのプロバイダが見...
-
SQLでエラーです。
-
日付書式のString型からData型...
-
PL/SQLでファンクション名に変...
-
Selenium のエラーがでます。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報