从URL请求XML文件并使用python另存为CSV

时间:2018-11-20 16:42:14

标签: python xml csv

我是python编码的新手,我想从服务器获取XML文件,然后将其解析并保存到csv文件中。

两个部分都可以,我可以获取文件并对其进行解析,但是另存为csv存在问题。

代码:

import requests
import numpy as np

hu = requests.get('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml', stream=True)
from xml.etree import ElementTree as ET
tree = ET.parse(hu.raw)
root = tree.getroot()
namespaces = {'ex': 'http://www.ecb.int/vocabulary/2002-08-01/eurofxref'}
for cube in root.findall('.//ex:Cube[@currency]', namespaces=namespaces):
    np.savetxt('data.csv', (cube.attrib['currency'], cube.attrib['rate']), delimiter=',')   

我得到的错误是:数组dtype和格式说明符不匹配。 这可能意味着我获取了数据并尝试将其保存为数组,并且出现了不匹配的情况。 但是我不确定如何解决该问题以及是否不匹配。

谢谢

1 个答案:

答案 0 :(得分:0)

docs开始,您在IEnumerable<Models.Full>中的第二个参数应该是{em>等长数组的np.savetext 。您提供的是字符串:

tuple

您需要将>>> x = y = z = np.arange(0.0,5.0,1.0) >>> np.savetxt('test.out', x, delimiter=',') # X is an array >>> np.savetxt('test.out', (x,y,z)) # x,y,z equal sized 1D arrays >>> np.savetxt('test.out', x, fmt='%1.4e') # use exponential notation concurrency值的 all 收集到数组中,然后另存为csv:

rate