CSVファイルへのリンク:https://www.emcsg.com/marketdata/priceinformation [72期間のCSVファイルをダウンロードします。毎日午後12時(UTC + 08:00)の午後には、その日の価格と翌日の午前12時までの価格予測を示す新しいファイルがあります。]Python CSVファイル、期間の比較
私は、 (USEP/$ MWh)は毎日の平均値を下回ります。
for line in lines:
try:
time = line.split(",")[1][1:-1]
interval = line.split(",")[0][1:-1]
item = line.split(",")[4][1:-1] #Choose 4th column and delete ""
if interval == next_day:
if float(item) < average:
print interval, time, float(item)
except:
pass #If it can't parse, the string is not a number
上記のコードは、この
30 Sep 2017 01:00-01:30 84.14
30 Sep 2017 01:30-02:00 84.12
30 Sep 2017 02:00-02:30 85.11
30 Sep 2017 02:30-03:00 83.49
30 Sep 2017 03:00-03:30 80.66
30 Sep 2017 03:30-04:00 75.69
30 Sep 2017 04:00-04:30 72.45
.
.
.
30 Sep 2017 21:30-22:00 79.72
30 Sep 2017 22:00-22:30 73.23
30 Sep 2017 22:30-23:00 73.58
30 Sep 2017 23:00-23:30 72.14
30 Sep 2017 23:30-00:00 85.21
のようなものを出力しますこれは、エネルギーの価格が9月30日
の平均を下回っている。しかし、私が印刷したいの日付と時刻を示していますそのようなもの
30 Sep 2017 01:00-04:30
30 Sep 2017 21:30-00:00
基本的には時間が連続しているので、それらをグループ化したいと思います。休憩(その間に価格が平均を上回っているところ)が終わると、価格が平均以下になったときに次の「期間」に新しい行が印刷されます。
私は、各期間の終了時刻(例えば01:00-01:30、01:30は終了時刻)を次の期間の開始時刻(例えば01:30-02: 00、01:30は開始時刻です)、次の行に表示されますが、実行可能かどうかはわかりません。 これは長い時間で私醜いコードのいずれかでなければなりません
やってみる – Adders
あなたは正しいことをしていると思います。これを行う1つの方法:開始と終了の2つの変数と、終了の場合は新しいエントリを作成しない場合はリストへの追加を開始します。 –