Tôi mới sử dụng Python. Tôi đang làm việc trên các tập tin gps. Tôi cần phải chuyển đổi một tập tin CSV có tất cả các dữ liệu gps để tập tin kml. Dưới đây là mã trong python Tôi đang sử dụng:Tạo kml từ csv bằng 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()
Các tập tin csv Tôi đang sử dụng hiện có sẵn ở đây: dip12Sep11newEdited.csv tệp KML tạo hiện có sẵn ở đây: csv2kml.kml Nhưng file kml không nhận được tạo ra một cách chính xác. Dường như sau một số hàng trong csv, mã không thể tạo thêm Dấu vị trí. Nó không thể lặp lại. Bạn có thể thấy điều đó bằng cách cuộn đến phần cuối cùng của tệp kml được tạo.
Bất kỳ ai cũng có thể giúp tôi tìm ra lỗi trong mã, vì đối với một số tệp csv nhỏ hơn, tệp hoạt động chính xác và tạo tệp kml đầy đủ.
Cảm ơn.
Làm cách nào để bạn biết rằng không thể tạo thêm Dấu vị trí?(Nó có bao giờ nhắc 'File Created' không?) – KevinDTimm
Có nó nhắc 'File Creted'. Nhưng nếu bạn mở tập tin kml trong notepad bạn có thể thấy rằng tập tin đã không viết hoàn toàn. – Darkpain