[英]How to save multiple xml files in python
我正在嘗試從網站上獲取一系列天氣報告,我有以下代碼為我想要的XML創建所需的URL,用不同的名稱保存返回的XML的最佳方法是什么?
with open('file.csv') as csvfile:
towns_csv = csv.reader(csvfile, dialect='excel')
for rows in towns_csv:
x = float(rows[2])
y = float(rows[1])
url = ("http://api.met.no/weatherapi/locationforecast/1.9/?")
lat = "lat="+format(y)
lon = "lon="+format(x)
text = url + format(lat) + ";" + format(lon)
我一直在用這個代碼保存單個XMls。
response = requests.get(text)
xml_text=response.text
winds= bs4.BeautifulSoup(xml_text, "xml")
f = open('test.xml', "w")
f.write(winds.prettify())
f.close()
CSV文件的第一列上帶有城市名稱,理想情況下,我希望使用這些名稱在創建每個XML文件時將其保存。 我敢肯定另一個for循環會做,我只是不確定如何創建它。 任何幫助將是巨大的,再次感謝堆棧。
您已經完成了大部分工作。 只需使用rows[0]
作為文件名即可。 假設rows[0]
是'mumbai',那么rows[0]+'.xml'
將給您'mumbai.xml'
作為文件名。 您可能要檢查城市名稱是否具有需要刪除的空格等。
with open('file.csv') as csvfile:
towns_csv = csv.reader(csvfile, dialect='excel')
for rows in towns_csv:
x = float(rows[2])
y = float(rows[1])
url = ("http://api.met.no/weatherapi/locationforecast/1.9/?")
lat = "lat="+format(y)
lon = "lon="+format(x)
text = url + format(lat) + ";" + format(lon)
response = requests.get(text)
xml_text=response.text
winds= bs4.BeautifulSoup(xml_text, "xml")
f = open(rows[0]+'.xml', "w")
f.write(winds.prettify())
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.