我正在尝试从网站上获取一系列天气报告,我有以下代码为我想要的XML创建所需的URL,保存返回的XML的最佳方式是什么?< / p>
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循环会做,我只是不确定如何创建它。 任何帮助都会很棒,再次感谢堆叠。
答案 0 :(得分:0)
你已经完成了大部分工作。只需使用rows[0]
作为您的文件名。假设rows[0]
是&#39; mumbai&#39;,那么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()