【发布时间】:2023-03-05 01:04:01
【问题描述】:
我是 Python 新手。我正在处理 gps 文件。我需要将包含所有 gps 数据的 CSV 文件转换为 kml 文件。下面是我正在使用的python中的代码:
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 文件。
谢谢。
【问题讨论】:
-
你怎么知道它不能生成更多的地标? (它是否曾提示“文件已创建”?)
-
是的,它会提示“文件已创建”。但是如果你在记事本中打开kml文件,你可以看到文件没有完全写入。
标签: python csv gps kml google-earth