Я пытаюсь преобразовать вложенный xml с онлайн-сайта в csv для практики.Но я не могу приступить к подходу.Для простого XML я смог преобразовать.Это xml из онлайн здесь
Я пытался с этим, но он не дал ожидаемого ответа.
import pandas as pd
import xml.etree.cElementTree as et
parsedXML = et.parse(r'./Desktop/MapClick.xml')
dfcols = ['start_valid_time','dew_point','wind_chill','sustained','total','floating','relative','wind','hourly','gust','floating']
df = pd.DataFrame(columns=dfcols)
def getvalueofnode( node ):
return node.text if node is not None else None
for node in parsedXML.getroot():
start_valid_time = node.find('time-layout/start-valid-time')
dew_point = node.find('parameters/temperature1/value')
wind_chill = node.find('parameters/temperature2/value')
sustained = node.find('parameters/wind-speed/value')
total = node.find('parameters/hourly-qpf/value')
floating = node.find('parameters/cloud-amount/value')
relative = node.find('parameters/probability-of-precipitation/value')
wind = node.find('parameters/humidity/value')
hourly = node.find('parameters/direction/value')
gust = node.find('parameters/temperature3/value')
floating = node.find('parameters/wind-speed/value')
df = df.append( pd.Series(
[start_valid_time, getvalueofnode(dew_point), getvalueofnode(wind_chill), getvalueofnode(sustained),getvalueofnode(total), getvalueofnode(floating), getvalueofnode(relative),getvalueofnode(wind),getvalueofnode(hourly), getvalueofnode(gust),getvalueofnode(floating)],
index=dfcols) ,ignore_index=True)
df.to_csv('./Desktop/MapClick.csv')
Мне нужны только эти столбцы в CSV.Start_valid_date, температура-точка росы, температура-ветер холодный, устойчивый, общий, плавающий, относительный, ветер, почасовая температура, порыв, плавающий.