Python と simplekml クリエーターを使用して kml ファイルを作成しています。何らかの理由で 2 つの kml ファイルが作成され、3 つ目は作成されません。データは私には問題ないようです。コードは次のとおりです。
times=open("E:\\Python\Copyofresttable.csv","r")
import time
import csv
import simplekml
from time import strftime, localtime
dayoftheweekvariable = strftime("%A", localtime())
print dayoftheweekvariable
kml = simplekml.Kml()
if dayoftheweekvariable == "Monday":
for line in times:
a = line.split(',')
if a[2] == "Monday":
print a[5]
if dayoftheweekvariable == "Tuesday":
for line in times:
a = line.split(',')
if a[2] == "Tuesday":
print a[5]
if dayoftheweekvariable == "Wednesday":
for line in times:
a = line.split(',')
if a[1]== "Iron Hill" and a[2] =="Wednesday":
kml.newpoint(name="Iron Hill", coords=[(-75.605507,39.960504)], description=a[5])
kml.save("pythonmap.kml")
print "Creating KML"
if a[1]== "Side Bar and Resturant" and a[2] =="Wednesday":
kml.newpoint(name="Side Bar and Resturant", coords=[(-75.604805,39.960591)], description=a[5])
kml.save("pythonmap.kml")
print "Creating KML"
if a[1]== "Barnaby's" and a[2] =="Wednesday":
kml.newpoint(name="Barnaby's", coords=[(-75.604049,39.959488)], description=a[5])
kml.save("pythonmap.kml")
print "Creating KML"
明らかに水曜日の夜にこれをテストしています...最後の3つのifステートメントに関しては、それらをどの順序で配置しても、Iron HillとBarnabyのkmlは作成されますが、サイドバーは作成されません. これは返される結果です:
Wednesday
Creating KML
Creating KML
Traceback (most recent call last):
File "C:/Users/75IV740906/Desktop/py117", line 26, in <module>
if a[1]== "Iron Hill" and a[2] =="Wednesday":
IndexError: list index out of range
エラーメッセージは、ifステートメントが一番上にあるものを呼び出します。私は困惑しています。私の質問が理にかなっていることを願っています(なぜこのエラーメッセージが表示され、ifステートメントの順序に関係なく2つのkmlしか作成されないのですか)