python - 使用python从xml文件中提取数据
问题描述
我想从下载的 xml 文件(https://s3.amazonaws.com/irs-form-990/201542399349300614_public.xml)中提取某些数据点。
import pandas as pd
import csv
import os
from os import path
from xml.dom import minidom
from xml.etree import ElementTree
import requests
from bs4 import BeautifulSoup
#from IRS_Download import *
import sys
for o in object_id:
file_name = "" + o + ".xml"
basepath = path.dirname(__file__)
filepath = path.abspath(path.join(basepath, file_name))
dom = minidom.parse(filepath)
EmIdN = dom.getElementsByTagName('EIN')
print(EmIdN)
但是,这只会返回:
DOM 元素:0x1132eecc0 处的 EIN
任何想法,我做错了什么?
解决方案
我现在这样解决了:
tree = ET.parse(xml_tree)
root = tree.getroot()
#prints out all tags to see the paths
#for elemtn in root.iter():
# print(elemtn)
if tree.find('.//{http://www.irs.gov/efile}EIN') is not None:
info = tree.find('.//{http://www.irs.gov/efile}EIN').text
EIN.append(info)
else:
info = 'Null'
EIN.append(info)
推荐阅读
- node.js - 不知道为什么 nodemailer 不能正常工作
- javascript - 如何使用 MediaRecorder API 实现 VU 表来测试麦克风
- java - 为什么不能完成未来的日志异常?
- macos - Minikube with Docker Driver 是否支持 Mac 或 Windows 上的 Ingress?
- python - TensorFlow Keras 层中的重新排序轴
- python - 失败 DF 显示 pyspark
- sql - SQL:优先考虑 MAX 计算
- javascript - 如何建立一个城市/州/国家自动完成?
- android - 在 gradle 脚本中查找解压后的 aar 文件的缓存文件
- android - Android firebase:仅向付费用户发送推送通知