python – 从CSV为Google Maps创建KML文件
发布时间:2020-12-20 11:24:46 所属栏目:Python 来源:网络整理
导读:我一直在研究有关问题的日子……我是KML的新手,我想用以下信息创建一个文件: EmailaddresspostcodecountrytelephonefaxinternetnameimagelicenseCall numberlatlng 保留csv文件.如果有工具我会很高兴.否则,如果我知道语法,我会手动编写它. 我正在使用mac,因
我一直在研究有关问题的日子……我是KML的新手,我想用以下信息创建一个文件:
Email address postcode country telephone fax internet name image license Call number lat lng 保留csv文件.如果有工具我会很高兴.否则,如果我知道语法,我会手动编写它. 我正在使用mac,因此Windows KML创建者不会受到质疑……我尝试了很多工具,但没有一个是我想要的. 我发现的最好的工具是http://batchgeo.com/de/,但是没有KML文件了. [编辑] 有没有一种很好的方法在python脚本中解决这个问题?我已经有了.csv! 最好的问候柯蒂斯 解决方法
要读取.csv文件,可以像这样使用
csv模块:
reader = csv.reader(open("file.csv")) for row in reader: for value in row: ... 当您的文件是UTF-8编码时,您可能会遇到麻烦,因为csv不支持该文件.但有一个wrapper将负责这一点. 当然,您也可以逐行读取文件并用逗号分隔:values = line.split(‘,’). 由于kml格式不是很复杂,创建数据表示的最艰难的部分是决定它应该是什么样子.插入从csv文件读取的值的一段非常简单的代码可能如下所示: # read field labels from first line in file header = reader.next() # prepare static output templates = [(' <Placemark>n <name>{}</name>n','name'),(' <description>n <![CDATA[n <img src="{}"/>n','image'),(' {}n','address'),'postcode'),'country'),(' Tel: <span class="tel">{}</span>n','telephone'),(' Mail: <span class="mail">{}</span>n','Email'),(' </description>n <Point>n <coordinates>{},','lat'),('{}</coordinates>n </Point>n </Placemark>n','lng')] # lookup function for field values. leading and trailing whitespace will be removed value = lambda field,array: array[header.index(field)].lstrip().rstrip() # start output print '''<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document>''' # insert values into xml for row in reader: for t,f in templates: print t.format(value(f,row)),print ' </Document>n</kml>' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |