簡體   English   中英

如何在python中保存多個xml文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM