私は次のような場合があります: csvファイルの機能の時間を取得し、それを誰かが撮影した写真の時間と比較する必要があります。 それから私は2つ(またはそれ以下)のマッチを見つける必要があります。私は、フィーチャーの時間からそのフィーチャーまでの2分の間隔で見つけた最初の2枚の絵を割り当てます。 詳細を含む2つの辞書を作成できました。feature_hours
にはid
と時間が含まれています。 photo_hours
にはphoto_path
と写真の時間が含まれています。 sorted_feature
およびsorted_photo
は、2つの辞書をソートした2つのリストです。 問題は、出力csvファイルでは、私は84行しか完成せず、いくつかは空白であることです。機能csvファイルには199の機能があります。私はjをあまりにも頻繁に増やしたと思う。しかし、私はそれを把握することができないので、私はプロから明確な外観が必要です。ここ は、コードは次のとおりです。Pythonでcsvにエクスポート
j=1
sheet1.write(0,71,"id")
sheet1.write(0,72,"feature_time")
sheet1.write(0,73,"Picture1")
sheet1.write(0,74,"Picture_time")
sheet1.write(0,75,"Picture2")
sheet1.write(0,76,"Picture_time")
def write_first_picture():
sheet1.write(j,71,feature_time[0])
sheet1.write(j,72,feature_time[1])
sheet1.write(j,73,photo_time[0])
sheet1.write(j,74,photo_time[1])
def write_second_picture():
sheet1.write(j-1,75,photo_time[0])
sheet1.write(j-1,76,photo_time[1])
def write_pictures():
if i==1:
write_first_picture()
elif i==2:
write_second_picture()
for feature_time in sorted_features:
i=0
for photo_time in sorted_photo:
if i<2:
if feature_time[1][0]==photo_time[1][0]:
if feature_time[1][1]==photo_time[1][1]:
if feature_time[1][2]<photo_time[1][2]:
i=i+1
write_pictures()
j=j+1
elif int(feature_time[1][1])+1==photo_time[1][1]:
i=i+1
write_pictures()
j=j+1
elif int(feature_time[1][1])+2==photo_time[1][1]:
i=i+1
write_pictures()
j=j+1
elif int(feature_time[1][0])+1==photo_time[1][0]:
if feature_time[1][1]>=58:
if photo_time[1][1]<=02:
i = i+1
write_pictures()
j=j+1
編集: 特長一覧::[( '-70'、( '10'、 '27'、 '03')ここでは二つのリストの例があります)、( '-70'、('10 '、' 29 '、'50'))] 写真リスト:[( '20160801_125133-1151969393.jpg'、( '12'、 '52'、 '04') )、( '20160801_125211342753906.jpg'、('12 '、' 52 '、' 16 '))]