में सीएसवी से किमीएल बनाएँ मैं पाइथन के लिए नया हूं। मैं जीपीएस फाइलों पर काम कर रहा हूं। मुझे एक सीएसवी फ़ाइल को सभी जीपीएस डेटा को 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 फ़ाइल सही ढंग से नहीं बनाया जा रहा है। स्पष्ट रूप से सीएसवी में कुछ पंक्तियों के बाद कोड अधिक प्लेसमार्क उत्पन्न करने में सक्षम नहीं है। यह फिर से करने में सक्षम नहीं है। आप देख सकते हैं कि उत्पन्न kml फ़ाइल के अंतिम भाग तक स्क्रॉल करके।
क्या कोई मुझे कोड में त्रुटि का पता लगाने में मदद कर सकता है, क्योंकि कुछ छोटी सीएसवी फाइलों के लिए यह सही ढंग से काम करता है और पूरी तरह से kml फ़ाइलों को बनाता है।
धन्यवाद।
आप कैसे जानते हैं कि यह अधिक प्लेमार्क्स उत्पन्न करने में सक्षम नहीं है?(क्या यह कभी भी 'फाइल बनाया गया' संकेत देता है?) – KevinDTimm
हां यह 'फ़ाइल क्रिएट' को बढ़ावा देता है। लेकिन अगर आप नोटपैड में kml फ़ाइल खोलते हैं तो आप देख सकते हैं कि फ़ाइल पूरी तरह से नहीं लिखती है। – Darkpain