あなたの主な問題は、最初はevent_date
検索を試みた懸念されます。 辞書のリストに適切なDateTimeオブジェクトを渡す必要があります。
あなたは単にあなたが(下記のシーケンス以下の行方不明のエントリを追加すること)のようなものを経由して日付時刻の文字列になり変換することができます:
from datetime import datetime
from miditime.miditime import MIDITime
mymidi = MIDITime(120, 'myfile.mid', 5, 5, 1)
mydata = [
{
'event_date': datetime.strptime('Jan 13 1961', '%b %d %Y'),
'magnitude': 3.4
},
{
'event_date': datetime.strptime('Dec 11 1968', '%b %d %Y'),
'magnitude': 3.4
},
]
my_data_epoched = [{
'days_since_epoch': mymidi.days_since_epoch(d['event_date']),
'magnitude': d['magnitude']} for d in my_data]
しかし、あなたはで次のようにしているドキュメントでより多くを整列する:https://pypi.python.org/pypi/miditimeことができますすなわち、これらのエントリのすべてを変換:''
を経由して文字列へJan 13 1961
などのようなDateTimeオブジェクトに:
from datetime import datetime
from miditime.miditime import MIDITime
mymidi = MIDITime(120, 'myfile.mid', 5, 5, 1)
my_data = [
{'event_date': 'Jan 13 1961' , 'magnitude': 3.4},
{'event_date': 'Dec 11 1968', 'magnitude': 3.2},
{'event_date': 'May 12 1988', 'magnitude': 3.6},
{'event_date': 'Mar 5 1989', 'magnitude': 3.0},
{'event_date': 'Jan 30 1991', 'magnitude': 5.6},
{'event_date': 'Dec 9 2017', 'magnitude': 4.0}
]
my_data_epoched = [{
'days_since_epoch': mymidi.days_since_epoch(datetime.strptime(d['event_date'], '%b %d %Y')),
'magnitude': d['magnitude']} for d in my_data]
上記セットあなたの日時フィールドのすべての文字列と追加へは、mymidiメソッドで使用するdatetimeを作成します:days_since_epoch
。
上記の文書に加えた変更は、 mymidi.days_since_epoch(datetime.strptime(d['event_date'], '%b %d %Y')), 'magnitude': d['magnitude']} for d in my_data]
の変更とevent_date
の変更です。これらを簡単にここにあなたの辞書のDateTimeオブジェクトに簡単に設定できますが、これはあなたの例にとっては最も簡単です。
将来的に有効なDateTimeオブジェクトをevent_date
値として渡し、magnitude
に浮動小数点数を渡したいとします。
上記の結果:
my_data_epoched = [
{'days_since_epoch': -3275.0, 'magnitude': 3.4},
{'days_since_epoch': -386.0, 'magnitude': 3.2},
{'days_since_epoch': 6706.0, 'magnitude': 3.6},
{'days_since_epoch': 7003.0, 'magnitude': 3.0},
{'days_since_epoch': 7699.0, 'magnitude': 5.6},
{'days_since_epoch': 17509.0, 'magnitude': 4.0}
]
あなたのコードとエラーメッセージの一部を追加することができますか? – sebasaenz
(コメントではなく)問題のフルエラーメッセージ(トレースバック)を常に追加してください。 – furas
@sebasaenz、このコードは、私が以前に提供したリンクのコードに従っています(このコードは、私が以前に提供したコードに従っています):my_data = [{'event_date':12/11/1989、 'magnitude': 3.4}、 {'event_date':5/3/1989、 'magnitude':3。2}、 {'event_date':1/30/1991 'magnitude':3.6} {'event_date':3/5/1989、 'magnitude':3.0}、 {'event_date':5/12/1988、 'magnitude':5.6}、 {'event_date':12/9/2017、 'magnitude':4.0} ] my_data_epochedコマンドを実行するとエラーが発生します。私はそれがデータ型変換のためだと思う: AttributeError: 'float'オブジェクトには 'tzinfo'属性がありません – DisgruntledPhDStudent