如何在python中保存多个xml文件
Posted
技术标签:
【中文标题】如何在python中保存多个xml文件【英文标题】:How to save multiple xml files in python 【发布时间】: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 循环会做,我只是不确定如何创建它。 任何帮助都会很棒,再次感谢堆栈。
【问题讨论】:
【参考方案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()
【讨论】:
以上是关于如何在python中保存多个xml文件的主要内容,如果未能解决你的问题,请参考以下文章