【问题标题】:How to save multiple xml files in python如何在python中保存多个xml文件
【发布时间】:2016-12-30 10:28:51
【问题描述】:

我正在尝试从网站获取一系列天气报告,我有以下代码为我想要的 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 循环会做,我只是不确定如何创建它。 任何帮助都会很棒,再次感谢堆栈。

【问题讨论】:

    标签: python xml save


    【解决方案1】:

    您已经完成了大部分工作。只需使用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()
    

    【讨论】:

      猜你喜欢
      • 2020-03-16
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多