質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

350閲覧

Pythonの時間制御について 型変換

songyong

総合スコア21

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/05/04 05:30

編集2018/05/04 05:55

Python 初心者です。先物の自動売買システムの作成に挑戦しております。

Pythonの型変換について、質問です。現在、夜間と昼間で異なるロジックを実装しており、

テストデータの取得でつまづいております。

CSVから、"12:00","19500"のように、時間のデータと価格のデータを取得します。

取得した時間データを以下のソースの通り、変換して、昼間の価格データなのか、夜間の価格データ

なのかを判定し、次の処理に進むため、下記の通り判定を行なっておりますが、以下のエラーが発生してしまいます。

ご教示のほど、宜しくお願いいたします。

補足)データ取得はPandasのreadCSVを使用しております。readCSVにて取得した値を変数tに格納しています。

TypeError: 'DateTimeRange' object cannot be interpreted as an integer

Python

1# 昼間か夜間かの判定 -> ADD 2 from datetimerange import DateTimeRange 3 nighttime = DateTimeRange("T00:00:00+0900", "T05:30:00+0900") 4 daytime = DateTimeRange("T08:45:00+0900", "T15:10:00+0900") 5 nighttime = DateTimeRange("T16:30:00+0900", "T23:59:59+0900") 6 str(nighttime) 7 str(daytime) 8 9 from datetime import datetime as dt 10#tは取得した時間データ(12:00など)を格納している変数 11 t_time = dt.strptime(t, '%H:%M') 12 str(t_time) 13 if t_time in range(nighttime): 14 timezone = "night" 15 elif t_time in range(daytime): 16 timezone = "day" 17 else: 18 timezone = "error"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

文字列のまま判定でいいんじゃ?

python

1t = "12:00" 2 3if "00:00" <= t and t <= "05:30": 4 print("night1") 5elif "08:45" <= t and t <= "15:10": 6 print("day") 7elif "16:30" <= t and t <= "23:59": 8 print("night2") 9else: 10 print("error") 11#day

投稿2018/05/04 06:26

編集2018/05/04 06:29
gingertail

総合スコア317

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問