Errno 36: 文件名太长错误解析 python XML
Errno 36: File name too long error parsing python XML
我有一个 XML 文件,我正在尝试解析和访问以下文件的一个根:DonorAdvisedFundInd
我不应该遇到问题,但是当我尝试解析 XML 文件我收到一条错误消息:
[Errno 36] File name too long:`
这是我目前正在使用的代码:我删掉了大部分代码以便更容易看到问题所在。错误发生在解析行上。
import pandas as pd
import xml.etree.ElementTree as et
import requests
xml_data = requests.get("https://s3.amazonaws.com/irs-form-990/201903199349320465_public.xml").content
xtree = et.parse(xml_data)
现在我很困惑的原因是,如果您打开 link,XML 文件真的不会那么长。它应该能够被解析。如果有任何不同,我正在使用 IBM Watson Studio 的在线编译器。
任何人都可以提供任何见解或反馈,我将不胜感激。
尝试 fromstring
:
import pandas as pd
import xml.etree.ElementTree as et
import requests
xml_data = requests.get("https://s3.amazonaws.com/irs-form-990/201903199349320465_public.xml").content
xtree = et.fromstring(xml_data)
更新 (用于查找特定元素):
for i in xtree.findall(".//"):
if 'DonorAdvisedFundInd' in i.tag:
print(i.tag, i.attrib, i.text)
另一种方法是像这样使用这个 xmltodict
库:
result = xmltodict.parse(xml_data)
result['Return']['ReturnData']['IRS990']['DonorAdvisedFundInd']
我有一个 XML 文件,我正在尝试解析和访问以下文件的一个根:DonorAdvisedFundInd
我不应该遇到问题,但是当我尝试解析 XML 文件我收到一条错误消息:
[Errno 36] File name too long:`
这是我目前正在使用的代码:我删掉了大部分代码以便更容易看到问题所在。错误发生在解析行上。
import pandas as pd
import xml.etree.ElementTree as et
import requests
xml_data = requests.get("https://s3.amazonaws.com/irs-form-990/201903199349320465_public.xml").content
xtree = et.parse(xml_data)
现在我很困惑的原因是,如果您打开 link,XML 文件真的不会那么长。它应该能够被解析。如果有任何不同,我正在使用 IBM Watson Studio 的在线编译器。
任何人都可以提供任何见解或反馈,我将不胜感激。
尝试 fromstring
:
import pandas as pd
import xml.etree.ElementTree as et
import requests
xml_data = requests.get("https://s3.amazonaws.com/irs-form-990/201903199349320465_public.xml").content
xtree = et.fromstring(xml_data)
更新 (用于查找特定元素):
for i in xtree.findall(".//"):
if 'DonorAdvisedFundInd' in i.tag:
print(i.tag, i.attrib, i.text)
另一种方法是像这样使用这个 xmltodict
库:
result = xmltodict.parse(xml_data)
result['Return']['ReturnData']['IRS990']['DonorAdvisedFundInd']