前提・実現したいこと
コードに直接打ち込むのは、面倒なので、
Tkinterの入力値で、
csvファイルから指定した時刻のデータから○○時間経過したデータを出力したい。
※dateの日付データは、indexに変換してあります。
indexにしておいたほうが、月のデータのみや日のみなど指定して取りやすいのでそうしてあります。
csvファイルは、以下のような構造になっております。
date 数値データ
2020-11-15 10:00:00 2654
...... 2555
....... ......
...... .....
...... ....
発生している問題・エラーメッセージ
Empty DataFrame Index: []
該当のソースコード
Python
1df output() 2 #入力された値を取得。 3 txtBox1_value = txtBox1.get() 4 txtBox2_value = int(txtBox2.get()) 5 6 #日付型に変換。 7 start1 = dt.datetime.strptime(txtBox1_value,'%Y-%m-%d %H:%M:%S') 8 last1 = start1 + dt.timedelta(minutes=-txtBox2_value) 9 10 #文字列型に変換 11 start2 = start1.strftime('%Y-%m-%d %H:%M') 12 last2 = last1.strftime('%Y-%m-%d %H:%M') 13
試したこと
①直接日付をコードに入力。
df1 = df['2020-11-15':'2020-12-30']
これはスライス操作ができて、出力されました。
②直接Tkinterで入力された値とダイレクトに挿入。
df1 = df[txtBox1_value:'2020-12-30']
これもスライス操作ができ、出力されました。
そこで、Tkinterで入力された値から、timedeltaを使用し計算された日付データを文字列変換して挿入した場合、出力できませんでした。
df1 = df[txtBox1_value:last2]
これだとだめでした。
②と最後のやつでは、型は同じなので、出力されると思ったのですが・・・。
補足情報(FW/ツールのバージョンなど)
Python3.8.3
エディター:Visual Studio Code
あなたの回答
tips
プレビュー