read_files.pyで複数メソッドを定義して
exeメソッドから他のメソッドを利用したいのですが
他のメソッドが定義されていませんというエラーが出てしまいます
解決方法を教えてください。
************************PythonAplication1.py********************
import read_files
r = read_files
r.read_files.exe()
************************read_files.py********************
# coding: shift_jis
import glob
import openpyxl as excel
class read_files:
# 対象フォルダと保存先のファイル名を指定
dirName = "./ExcelWorkDir/"
target_dir = dirName + 'salesbooks'
save_file = dirName + 'matome.xlsx'
# メイン処理 --- (*1)
def exe():
# 売上一覧を書き込むブックを用意する
book = excel.Workbook()
main_sheet = book.active
# ファイルをを列挙して読む
enumfiles(main_sheet)
# 読み込んだデータを保存
book.save(save_file)
# ファイルを列挙する --- (*2)
def enumfiles(main_sheet):
# Excelファイルの一覧を得る --- (*3)
files = glob.glob(target_dir + '/*.xlsx')
# 各Excelブックを次々と読んでいく --- (*4)
for fname in files:
read_book(main_sheet, fname)
# ブックを開いて中身を読む --- (*5)
def read_book(main_sheet, fname):
print("read:", fname)
# Excelブックを読み込む --- (*6)
book = excel.load_workbook(fname, data_only=True)
sheet = book.active
# 売上データのある範囲を読み取る --- (*7)
rows = sheet["A4":"F999"]
for row in rows:
# セルの値をリストとして得る --- (*8)
values = [cell.value for cell in row]
if values[0] is None: break
print(values)
# メインシートに値をコピー --- (*9)
main_sheet.append(values)
# メインプログラムを実行 --- (*10)
if __name__ == "__main__":
exe()
# ファイル保存場所:C:\Users\PC-USER\source\repos\PythonApplication1\PythonApplication1
# ファイルを保存 --- (*5)
dirName = dirName + 'hello.xlsx'
book.save(dirName)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
read_files.pyをモジュールとして登録した場合です。
Application.py
----------------------------
import read_files
read_files.exe()
-----------------------------
read_files.pyは下記URLへアップしました。
https://ideone.com/w6GKR1
No.1
- 回答日時:
read_filesはクラスではなく、モジュールとして登録したほうが、良いかと
思いますが、とりあえずクラスとして実装してみました。
PythonAplication1.py
------------------------------------
import read_files
r = read_files.read_files()
r.exe()
------------------------------------
read_files.pyはインデントが崩れるので、下記URLにアップしました。
https://ideone.com/giQaZp
尚、最下行にbook.save(dirName)がありますが、この行があるとエラーになるため、これはコメントにしてあります。(なにをなさりたいのかがよくわからない為エラーをとることはしていません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・ちょっと先の未来クイズ第5問
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
VBAで別ブックのシートを指定し...
-
ワイルドカード「*」を使うとう...
-
VBA 実行時エラー 2147024893
-
【ExcelVBA】インデックスが有...
-
Excelマクロ 該当する値の行番...
-
エクセルのマクロを使ってメー...
-
[Excel]ADODBでNull変換されて...
-
【Excel VBA】書き込み先ブック...
-
Excel2007VBAファイルの表示に...
-
フォルダ内の全てのファイルに...
-
Excelのマクロについて教えてく...
-
エクセル VBA 他シートの行を選...
-
Excelブックがアクティブになっ...
-
拡張メタファイルにて貼り付け
-
Excel にて、 リストボックスの...
-
VBAで複数のブックを開かずに処...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
【ExcelVBA】インデックスが有...
-
VBAで別ブックのシートを指定し...
-
VBAで別のブックにシートをコピ...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
VBAで複数のブックを開かずに処...
-
[Excel]ADODBでNull変換されて...
-
VBA シート名が一致した場合の...
-
VBA 実行時エラー 2147024893
-
VBSでExcelのオープン確認
-
ACCESSVBA からExcelの他ブック...
-
Excel2007VBAファイルの表示に...
-
フォルダ内の全てのファイルに...
おすすめ情報