PythonからExcelの最終行を取得するプログラムを書いているのですがうまくいきません。
【問題点】
初回は正しく取得できます。
しかしその後エクセルを手動で開いて値が入力されているセルをクリアした後に
再度プログラムを実行すると最終行が正しく表示されません
※ただし行の削除まで行うと正しく取得できるようになります
以下の内容です
wb = excel.load_workbook('example.xlsx')
# ワークブックのアクティブ
ws = wb.active
# ワークシートの指定をしています
ws.title = 'TEST'
# 最終行の取得をしています
end_row = ws.max_row
以上です。
ご教授いただけると幸いです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
「最後にbookのCloseとexcel.Quit()が無いようですが、よいのかな?」、、、と思います。
ようは書かれているPythonのコードが該当Excelファイルの最新イメージを取り込んでいるかどうかだと思うのですが。
参考まで。
早速の解答ありがとうございます。
ご指摘にあった「bookのCloseとexcel.Quit()」などのエクセルのCloseする処理がないのは確かに不思議と思っていました。
(Python初心者なものでサイトをもとにプログラミングしていてそういった処理がなかったので…)
なのでClose関係を試してみたのですが、解決できませんでした、
補足で問題の内容を追加しましたので何かわかればよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
ListView 項目の選択/選択解除...
-
getParameter と getAttribut...
-
count(*)で取得した値をJAVAの...
-
Flexgridで選択行の列の値を取...
-
「Excel VBA」 Webクエリ マク...
-
like演算子内に変数って使えな...
-
JavaScriptにおいてコンピュー...
-
データ数をカウントしたいのですが
-
javaで週の最初の日(例:月曜日...
-
PostgresSQL JDBC で Select結...
-
EXCELのリストボックスを選択し...
-
POSTやGETの値の取得方法
-
エクセルVBAで別ファイルのデー...
-
ASP(vbscript)におけるクライア...
-
現在時刻をミリ秒まで取得
-
コンボボックスの表示は最大何行?
-
asp.netでtextboxの値を取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでActiveDirectoryのユーザ...
-
VB.NETで DataRow()を利用して...
-
VBA:小数点以下の数字を取得で...
-
ListView 項目の選択/選択解除...
-
like演算子内に変数って使えな...
-
count(*)で取得した値をJAVAの...
-
利用者側のMACアドレスを取得し...
-
データ数をカウントしたいのですが
-
JavaScriptでWindowsログオンID...
-
ListViewで複数選択された項目...
-
Flexgridで選択行の列の値を取...
-
エクセルVBAで複数選択できるよ...
-
VBA リストボックス複数選択か...
-
getParameter と getAttribut...
-
Excel VBA でログインしてい...
-
VBScriptで数値にコンマを付け...
-
Spreadの選択行の取得について
-
コンボボックスの表示は最大何行?
-
コンボボックス表示文字列を取...
-
VB .netにて現在時刻+1時間後...
おすすめ情報
問題が起こった内容が乏しい為、補足させていただきます。
【やりたいこと】
PythonからExcelに登録されていない項目を追加する処理を行いたい
【使用したコード】
【問題】
・問題を分かりやすくするためにExcelにははじめ項目が0個とします。
・プログラム1回目:Pythonから項目を5個追加しました。
→【問題なし】最終行も正しく取得され値も正しい位置に入力されています
・Excelを手動で開いて最終行項目から2つクリアします
プログラム2回目:Pythonから2つクリアされた項目の追加を行う
→【問題あり】手動で消した項目を最終行に追加しなければならなのですが
この場合最終行は「3」となるのですがprintで確認すると「5」となり
最終行が正しく取得できていない状況です
またExcel側には値は入っていないのも確認しています