我是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和格式说明符不匹配。 这可能意味着我获取了数据并尝试将其保存为数组,并且出现了不匹配的情况。 但是我不确定如何解决该问题以及是否不匹配。
谢谢
答案 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