0

私はこの方法でファイルを解析しています:

for d in csvReader:
    print datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f").date()

date()は次を返します:2000-01-08、これは正しいです

time()は:06:20:00を返します。これも正しいです

「日付+時刻」「日付+時間+分」などの情報を返すにはどうすればよいですか。

編集

申し訳ありませんが、もっと正確にすべきでした。これが私が達成しようとしていることです。

lmb = lambda d: datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f").date()

daily_quotes = {}
for k, g in itertools.groupby(csvReader, key = lmb):
    lowBids = []
    highBids = []
    openBids = []
    closeBids = []
    for i in g:

        lowBids.append(float(i["Low Bid"]))
        highBids.append(float(i["High Bid"]))
        openBids.append(float(i["Open Bid"]))
        closeBids.append(float(i["Close Bid"]))

    dayMin = min(lowBids)
    dayMax = max(highBids)
    open = openBids[0]
    close = closeBids[-1]

    daily_quotes[k.strftime("%Y-%m-%d")] = [dayMin,dayMax,open,close]

ご覧のとおり、現在、値を日ごとにグループ化しています。時間(日付+時間が必要)または分(日付+時間+分)で値をグループ化したいと思います。

前もって感謝します !

4

1 に答える 1

1

から取得しているオブジェクトのdateメソッドを使用しないでください。代わりに、年、月、日、時、分、秒などを含むすべてのメンバー フィールドにアクセスできるように、からの戻り値に直接適用します。datetimestrptimestrftimestrptime

d = {"Date": "01-Jan-2000", "Time": "01:02:03.456"}
dt = datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f")
print dt.strftime("%Y-%m-%d-%H-%M-%S")
于 2012-05-01T01:18:00.380 に答える