質問編集履歴

1

一部文章ミスを訂正しました

2024/11/01 08:52

投稿

pythonwakaran
pythonwakaran

スコア1

test CHANGED
File without changes
test CHANGED
@@ -3,11 +3,7 @@
3
3
  Pythonを使用してcsvデータを読み込み、それを分析するためのプログラムを作成中です。
4
4
  実現したいことは作成したプログラムを条件によって続けるか分岐させるため、def main、while文にてループさせたいのですが、def main内でのインスタンス化等がうまくできません。
5
5
 
6
- 発生している問題・分からないこと
7
- while文にてClass1~8をループさせているのですが、Class6の挙動が1回目と2回目で違ってしまい、2回目の挙動が望まない動作をしてしまいます。
8
- 具体的にはClass5が実行されたあとはエクセルへのデータ転記→Sheet0.csvの保存→Sheet1.csvの保存となるはずなのですが、2回目のwhile文の動作でSheet0、Sheet1の保存→データの転記→もう一度Sheet0、Sheet1の保存となり同名データがあるため上書き保存の警告で動作が中断します。1回目の動作と同じ挙動にしたいです。宜しくお願いします。
9
6
 
10
- エラーメッセージ
11
7
 
12
8
  ### 発生している問題・分からないこと
13
9
  実際のコードはあまりにも長すぎるため、ここでは問題点を解決するための簡易にしたコードを貼らせていただきます。一番の問題はクラス「TestData2」内で実際のコードでは「df_test」にあたるデータフレームの変数が複数存在しており、def main内でインスタンス化や元々のコードの最後の部分をそのまま移行すると、「df_test」に当たる部分が定義されていませんとエラーになっています。しかし一部だけをdef main外(def mainの前で定義)すると文字変換エラー等がでてしまいます。(おそらくTestDeta1の変換がうまくいかなくなってしまっているため)。「df_test」を「self.df_test」にしてみたこともあるのですが、あまりにもエラーが多発したのと、できればグローバル変数にするのも避けたいです。