我是Python新手。我正在處理gps文件。我需要將所有gps數據的CSV文件轉換爲kml文件。以下是在Python代碼我使用:從Python中的csv創建kml
import csv
#Input the file name.
fname = raw_input("Enter file name WITHOUT extension: ")
data = csv.reader(open(fname + '.csv'), delimiter = ',')
#Skip the 1st header row.
data.next()
#Open the file to be written.
f = open('csv2kml.kml', 'w')
#Writing the kml file.
f.write("<?xml version='1.0' encoding='UTF-8'?>\n")
f.write("<kml xmlns='http://earth.google.com/kml/2.1'>\n")
f.write("<Document>\n")
f.write(" <name>" + fname + '.kml' +"</name>\n")
for row in data:
f.write(" <Placemark>\n")
f.write(" <name>" + str(row[1]) + "</name>\n")
f.write(" <description>" + str(row[0]) + "</description>\n")
f.write(" <Point>\n")
f.write(" <coordinates>" + str(row[3]) + "," + str(row[2]) + "," + str(row[4]) + "</coordinates>\n")
f.write(" </Point>\n")
f.write(" </Placemark>\n")
f.write("</Document>\n")
f.write("</kml>\n")
print "File Created. "
print "Press ENTER to exit. "
raw_input()
我使用CSV文件,請訪問:dip12Sep11newEdited.csv 生成的KML文件可以在這裏找到:csv2kml.kml 但沒有得到正確創建KML文件。顯然,在csv中的一些行後,代碼無法生成更多地標。它無法迭代。您可以通過滾動到生成的kml文件的最後一部分來看到。
任何人都可以幫助我找出代碼中的錯誤,因爲對於一些較小的csv文件,它可以正常工作並完全創建kml文件。
謝謝。
你怎麼知道它無法生成更多的地標?(它是否曾提示「創建文件」?) – KevinDTimm
是的,它會提示'文件已被創建'。但是,如果您在記事本中打開kml文件,則可以看到該文件沒有完全寫入。 – Darkpain