gpt4 book ai didi

python - 通过python从xml数据中提取字符串日期

转载 作者:行者123 更新时间:2023-12-01 03:03:45 25 4
gpt4 key购买 nike

我正在尝试学习一些例子。我可以从xml标记中提取数据,但是在提取日期值字符串时遇到了问题。 xml数据看起来像

<?xml version="1.0" encoding="UTF-8"?>
<ValCurs Date="20.04.2016" name="Official exchange rate">
<Valute ID="47">
<NumCode>978</NumCode>
<CharCode>EUR</CharCode>
<Nominal>1</Nominal>
<Name>Euro</Name>
<Value>22.4023</Value>
</Valute>
<Valute ID="44">
<NumCode>840</NumCode>
<CharCode>USD</CharCode>
<Nominal>1</Nominal>
<Name>US Dollar</Name>
<Value>19.7707</Value>
</Valute>


我正在尝试提取日期值'20 .04.2016',后来我想将此添加到列表中。我用来提取标签中数据的代码是

#!/usr/bin/python
import os
import webbrowser
import requests
import sys
from xml.etree import ElementTree as ET
from collections import defaultdict


url = 'https://www.bnm.md/en/official_exchange_rates?get_xml=1&date=20.04.2016'
session = requests.session()
response = session.get(url)
data = ET.fromstring(response.content)
elements = []
for element in data.iter():
if element.tag in ('Name', 'Value'):
elements.append(element.text)
print elements


有人可以指导我如何提取日期字符串值“ 20.04.2016”。谢谢

最佳答案

您说:“但是我面临提取字符串形式且没有标签的Date值的问题。” - 这不是真的!

Date值是<ValCurs>标记的属性。

因此,使用BeautifulSoup之类的xml解析器,您可以访问ValCurs标记以获取Date值。

码:

from bs4 import BeautifulSoup
import requests

url = 'https://www.bnm.md/en/official_exchange_rates?get_xml=1&date=20.04.2016'

html_source = requests.get(url).text

soup = BeautifulSoup(html_source, 'lxml')

val_tag = soup.find_all('valcurs')

for val in val_tag:
print(val['date'])


输出:

'20.04.2016'

关于python - 通过python从xml数据中提取字符串日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43595747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com