XMLファイルから2つの異なる要素を取得しようとしていますが、これを散布図のxとyとして印刷しようとしています。私がそれらをプロットするとき、それは他の要素をプロットするために日付のうちの1つを使用するだけです。私は気象HTMLを取得し、それをXMLとして保存するために以下のコードを使用しています。pythonのリストからdatetime.datetimeを削除します
url = "http://api.met.no/weatherapi/locationforecast/1.9/?lat=52.41616;lon=-4.064598"
response = requests.get(url)
xml_text=response.text
weather= bs4.BeautifulSoup(xml_text, "xml")
f = open('file.xml', "w")
f.write(weather.prettify())
f.close()
次に、時間( 'from')要素と( 'windSpeed'> 'mps')要素と属性を取得しようとしています。私は散布図にxとyとしてプロットしようとしています。
with open ('file.xml') as file:
soup = bs4.BeautifulSoup(file, "xml")
times = soup.find_all("time")
windspeed = soup.select("windSpeed")
form = ("%Y-%m-%dT%H:%M:%SZ")
x = []
y = []
for element in times:
time = element.get("from")
t = datetime.datetime.strptime(time, form)
x.append(t)
for mps in windspeed:
speed = mps.get("mps")
y.append(speed)
plt.scatter(x, y)
plt.show()
は、私は2つのループから2つのリストを作成しようとしている、その後、xとyとして、それらを読んで、私はそれを実行したときには、エラーが発生します。 xとyは同じサイズ
でなければならない、私はそれがdatetime.datetimeの(2016、12、22としてリストを出力しますので、それはだと仮定しています: はとValueError(「xとyは同じサイズでなければなりません」) ValueErrorを送出し、21、0)、リストからdatetime.datetimeを削除するにはどうすればいいですか?
私はおそらくそれを修正する簡単な方法があることを知っています。どんなアイデアも素晴らしいでしょう。ここのスタックにいる人々は、コード学習のお手伝いをしています。おかげ
私は2つのリストを使用しようとしましたが、それは私が質問に入れたエラーをスローしています。 –
'plt.scatter(x、y)とplt.show()'をforループに入れないでください。 –
@ M.Man 'x.append(t)'の 't'は何ですか?それはまたあなたにエラーを引き起こす可能性があります –