Python几行代码轻松解析征信报告XML文件

内容安全与风控大数据机器学习

有个在银行工作的朋友面临了一个困难,用Python解析征信报告XML文件。

跟我说让我帮忙空余时间处理一下,终于解决啦,也分享给更多面临这个问题的朋友。

本文目录

  1. XML文件介绍
  2. 由决策引擎保留字段样例
  3. 把XML文件解析的列表匹进标准文件

3.1 把XML文件解析成列表

3.2 读取决策引擎保留字段文件

3.3 通过merge的形式把列表匹进标准文件

一、XML文件介绍

picture.image

XML文件格式如下,可以发现内容层级清晰,都是用标签框上内容的方式存储。

picture.image

二、由决策引擎保留字段样例

picture.image

希望把XML中的内容解析成由决策引擎保留字段格式,具体如下:

picture.image

可以发现支付变量编号这一列对应XML文件中的标签。

三、读取XML文件解析成列表

picture.image

1 把XML文件解析成列表

调用Python中的XML库,按标签和内容的形式把XML文件 解析成列表,具体代码如下:

  
import os   
import numpy as np  
import pandas as pd   
import xml.etree.ElementTree as ET  
  
os.chdir(r'E:\解析xml')    
tree = ET.parse('王小二.xml')  
root = tree.getroot()  
  
tag_list = []  
text_list = []  
# 遍历所有元素  
for elem in root.iter():  
    # 打印元素名称和文本内容  
    # print(elem.tag, elem.text)  
    tag_list.append(elem.tag)  
    text_list.append(elem.text)  
  
# 根据元素路径查找特定元素  
for elem in root.iter('element_name'):  
    # 处理找到的元素  
    pass

得到结果:

picture.image

2 读取决策引擎保留字段文件

读取决策引擎保留字段文件,代码如下:

  
# 读取Excel文件  
df = pd.read_excel('由决策引擎保留字段.xls', sheet_name='Sheet1')  
  
# 显示前5行数据  
df.head()

得到结果:

picture.image

3 通过merge的形式把列表匹进标准文件

把XML文件 解析成的标签和内容列表转成数据框,匹进 决策引擎保留字段文件中,代码如下:

  
sub_df = pd.DataFrame({'tag':tag_list, 'text': text_list, })  
df = pd.merge(df, sub_df, left_on = '交付变量编号', right_on = 'tag', how = 'left')  
df = df.drop(columns='tag')  
df.head(10)

得到结果:

picture.image

text列即为解析好的指标,如果需要解析多个文件,可以循环调用该过程。

对风控策略和建模感兴趣的小伙伴欢迎加群讨论。

【部分群限时免费进** 】** 分群讨论学习Python、玩转Python、风控策略和模型【29.9元进】、人工智能、数据分析相关问题,还提供招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如风控策略和模型。

picture.image

【部分群限时免费进** 】** 分群讨论学习Python、玩转Python、风控策略和模型【29.9元进】、人工智能、数据分析相关问题,还提供招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如风控策略和模型。‍

往期回顾:

信贷风控架构一张图

变量筛选—特征包含信息量

一文弄懂卡方分箱的原理和应用

应用决策树生成【效果好】【非过拟合】的策略集

一文囊括风控模型搭建(原理+Python实现),持续更新。。。

不同工作年限风控建模岗薪资水平如何?招聘最看重面试者什么能力?

100天精通风控建模(原理+Python实现)——第32天:集成学习是什么?在风控建模中有哪些应用?

picture.image

picture.image

限时免费加群

19967879837

添加 微信号、手机号

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论