如何使用Python在KML中添加描述和动态更改Placemark图标?

如何使用Python在KML中添加描述和动态更改Placemark图标?,python,pandas,simplekml,Python,Pandas,Simplekml,我使用python的pandas和SimpleXML模块创建了一个MS Access dB to KML脚本。脚本a)从表MS Access dB提取数据;b) 将表格数据转储到csv文件中;c) 然后创建一个kml文件。在表中,我有一个列(cpeStatus),它有不同的值。我想根据cpeStatus列中的变量为placemark指定不同的图标图像 请参阅下面的工作代码: import pandas as pd import pyodbc conn = pyodbc.connect(r'Dr

我使用python的pandas和SimpleXML模块创建了一个MS Access dB to KML脚本。脚本a)从表MS Access dB提取数据;b) 将表格数据转储到csv文件中;c) 然后创建一个kml文件。在表中,我有一个列(cpeStatus),它有不同的值。我想根据cpeStatus列中的变量为placemark指定不同的图标图像

请参阅下面的工作代码:

import pandas as pd
import pyodbc

conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Users\myfiles\Desktop\PythonDev\PremiseCPEData.accdb;')
cursor = conn.cursor()
cursor.execute('select cpeMAC, cpeStatus, cpeLAT, cpeLON, FullAddress, Network from PremiseCPE') 

col_headers = [ i[0] for i in cursor.description ]
rows = [ list(i) for i in cursor.fetchall()] 
df = pd.DataFrame(rows, columns=col_headers)

df.to_csv("PremiseCPE.csv", index=False)
   
for row in cursor.fetchall():
    print (row)
  
cursor.close()

import csv
import simplekml

inputfile = csv.reader(open('PremiseCPE.csv','r'))
kml=simplekml.Kml()

for row in inputfile:
  kml.newpoint(name=row[0], coords=[(row[3],row[2])])
kml.description=(row[5]
#这就是我需要帮助的地方。 #出于某种奇怪的原因,kml.description只在最后一个placemark上输出一个值,而不是所有placemark

kml.save('PremiseCPEStatus.kml')

我通过在数据库中创建一个Placemark字段来解决这个问题,因为试图强制simplexml创建一个Elseif循环是无效的。我不希望在数据库级别为每个状态条目添加Placemark。