for ループを使用して、テーブルの日付/時刻の TrackLog 間の時間差を見つける必要があります。trackLog エントリは次の形式で見つかります。
2013-08-02T14:30:10Z
最初の timediff を計算しようとすると、「for」ループが失敗することを考慮する必要があります。最初のログには、計算を実行する前のエントリがないためです。したがって、最初のログが見つかったときにスクリプトを実行できるように、「if」ステートメント (ブール値を含む) を含める必要があります。
これは私がこれまでに得たものです:
for row in cur:
period=row.tracklogs
year=period[0:4]
month=period[6:7]
day=period[8:10]
hour=period[11:13]
minut=period[14:16]
second=period[17:19]
print period
firstline="yes"
if firstline=="yes":
prev_period=row.tracklogs
prev_coord=row.shape
firstline="no"
else:
new_period=row.tracklogs
new_coord=row.shape
period1=datetime.datetime(int(prev_period))
period2=datetime.datetime(int(new_period))
timediff=(a2-a1).seconds
print timediff
日時操作には整数が必要だと思いますが、次の例外が発生します。
line 36, in <module>
tid1=datetime.datetime(int(tidl_tid))
ValueError: invalid literal for int() with base 10: '2009-05-19T11:51:47Z'
何か間違ったことをしていることはわかっていますが、それが何であるかはわかりません。どんな助けでも感謝します。