文末视频讲解 | 有些数据就是不按套路出牌,怎么办?

为什么这个XML中的数据用Power Query里的“分析-XML”功能提取不出来?

其实,显示这个错误的意思就是:cao,这个XML不按套路(标准)出牌,Power Query认不出来!

标准的XML大概有以下两种表示形式(名称是我自己起的,可能不专业,仅为易于理解):

1、元素嵌套式

2、属性罗列式

那么,对于问题中的格式,虽然看起来有点儿像属性的罗列式,但实际上又将每个元素(fromAcct.actNo……)进行了罗列,而用了同一个属性(a)。

类似这种规则比较明显(某些系统开发过程中按需要自定义的格式)而又不是规范XML的情况,如果要用Power Query来提取其中的数据,除了考虑用比较麻烦的多次分列方法外,还可以想办法将其转换成标准的XML格式,具体步骤参考如下:

Step 01将其中的" a"(空格+a)替换为空

Step 02将其中原各元素之间的分割符号替换为空

Step 03通过替换起始符号的方式给内容加上元素名称

这样,我们就将原来分割成多个元素的非标准XML转变成了一个元素多个属性罗列在一起的XML,前后对比如下图所示:

经过这样的替换转换成标准的XML格式后,就可以用“分析-XML”功能来进行数据的提取了:

另外还有Json格式的内容也可能会有类似的情况,大都可以通过类似的思路进行转换后来进行数据的提取。

(0)

相关推荐