Когда я пытаюсь преобразовать XML в CSV (в конечном итоге в КМ) L, я получаю AttributeError: у объекта 'NoneType' нет атрибута 'tag', когда я пытаюсь создать список функций XML.
Iпопробовал советы здесь и различные вопросы переполнения стека безрезультатно.Я думаю, что это может иметь какое-то отношение к форматированию XML-канала?
# Load xml to kml library
import simplekml
# Loading URL libraries
import urllib.request
# Importing functions from URL Libraries
from urllib.request import Request, urlopen
# Loading CSV Creation Library
import csv
# Loading xml Library
import xml.etree.ElementTree as ET
# URL to website Containing XML Feed
req = urllib.request.urlopen('https://www.atxfloods.com/dashboard/phpsqlajax_genxml.php')
print('URL', req)
# Parsing XML Feed
tree = ET.parse(req)
print('Tree', tree)
root = tree.getroot()
print('Root', root)
# Open a file for writing
atxfloods = open('C:/Temp/atxfloods.csv', 'w')
print('Opening the folder that will contain the csv')
# Create csv file
csvwriter = csv.writer(atxfloods)
print('csv being written')
name_head = []
count = 0
for member in tree.findall('marker'):
name1 = []
if count == 0:
name = member.find('name ').tag
name_head.append(name)
jurisdiction = member.find('jurisdiction ').tag
name_head.append(jurisdiction)
address = member.find('address ').tag
name_head.append(address)
lat = member.find('lat ').tag
name_head.append(lat)
lng = member.find('lng ').tag
name_head.append(lng)
type = member.find('type ').tag
name_head.append(type)
comment = member.find('comment ').tag
name_head.append(comment)
id = member.find('id ').tag
name_head.append(id)
csvwriter.writerow(name_head)
count = count + 1
name = member.find('name ').text
name1.append(name)
jurisdiction = member.find('jurisdiction ').text
name1.append(jurisdiction)
address = member.find('address ').text
name1.append(address)
lat = member.find('lat ').text
name1.append(lat)
lng = member.find('lng ').text
name1.append(lng)
type = member.find('type ').text
name1.append(type)
comment = member.find('comment ').text
name1.append(comment)
id = member.find('id ').text
name1.append(id)
csvwriter.writerow(name1)
atxfloods.close()
# Transforming the XML into KML
# Setting input to simple kml to the atxfloods url
kml = simplekml.Kml()
for row in atxfloods:
# We saved our coordinates as lat,long but simplekml wants them in the reverse order
kml.newpoint(name=row[0], coords=[(row[5], row[4])])
# Saved kml file
kml.save('C:/Temp/atxfloods.kml')
Я ожидаю, что сценарий заполнит CSV-файл содержимым XML-канала, однако он не работает при попыткесоздайте список функций с помощью AttributeError: у объекта 'NoneType' нет атрибута 'tag'.