0

App Engine (Python)で、日付形式が「06/01/05」(月/日/年) の CSV ファイルを(DateTimeProperty ではなく) DatePropertyに読み込もうとしています。これが私が現在持っているものです:

for row in mycsvfiledata:
    obj = MyObject()
    datetemp = row[1]
    cohorttemp = datetime.datetime.strptime(datetemp, "%m/%d/%y")
    obj.cohort_date.month = cohorttemp.month
    obj.cohort_date.day = cohorttemp.day
    obj.cohort_date.year = cohorttemp.year

エラーが表示されます:[...省略...] obj.cohort_date.month = cohorttemp.month AttributeError: 'NoneType' object has no attribute 'month'

私も試しました:

obj.cohort_date = datetime.date.strptime(datetemp, "%m/%d/%y")

(ただし、strptime は datetime オブジェクトではなく、datetime オブジェクトのみを生成するようです)

obj.cohort_date = datetime.datetime.strptime(datetemp, "%m/%d/%y")

(しかし、「cohort_date」はApp EngineのDatePropertyであり、試してみると「BadValueError: Property cohort_date must be a date, not a datetime」が表示されます)

「cohort_date」をDateTimePropertyにすればすべてうまくいきますが、(さまざまな理由で)それはしたくありません。これに関するガイダンスをいただければ幸いです。

4

1 に答える 1

2

datetimeインスタンスには、対応するインスタンスdate()を返すメソッドがあるため、次のようになります。date

obj.cohort_date = datetime.strptime(datetemp, "%m/%d/%y").date()
于 2012-04-28T17:42:09.680 に答える