23、Power Query-XML与JSON数据获取
首先掃盲:
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基于JavaScript的一個子集;
XML(Extensible Markup Language)即可擴展標記語言,Xml是Internet環境中跨平臺的,依賴于內容的技術,是當前處理結構化文檔信息的有力工具。
兩者的共同優點是都是文本表示的數據格式,可以跨平臺、跨系統交換數據。
要是還沒有看懂這段文字,我們就直接來看代碼。
下面是一段簡單的Json代碼:
{"name": "中國","province": [{"name": "黑龍江","cities": {"city": ["哈爾濱", "大慶"]}}, {"name": "廣東","cities": {"city": ["廣州", "深圳", "珠海"]}}, {"name": "臺灣","cities": {"city": ["臺北", "高雄"]}}, {"name": "新疆","cities": {"city": ["烏魯木齊"]}}] }從代碼的角度很明顯它是”國家——省份——城市“的表,我們要怎么獲取它的數據呢?
下面我們就用Power Query去獲取它,依舊是選中——”從表“進行操作。
這個時候我們需要用到的菜單是”轉換“——”分析“。
發現它底下就有兩個選項:
1、XML
2、JSON
這次我們選擇"Json"。
接著我們依次按照”國家——省份——城市“進行展開。
這樣我們就獲取成功了,我們可以發現,這個JSON代碼的結構是相當有規律的,有興趣的胖友可以去了解學習一下。
說完Json,我們接著聊一下XML代碼,這個我們見的就比較多了,我們的Excel的文件就是這樣構成的。
比如我們把剛剛做的這個excel改一個擴展名為”rar“,進行解壓操作。
我們可以發現,其實每一層,都是由XML文件組成的。
下面我們給出這樣一段XML代碼。
<!-- Edited by XMLSpy?? --> <breakfast_menu> <style type="text/css"/> <food> <name>Belgian Waffles</name> <price>$5.95</price> <description> Two of our famous Belgian Waffles with plenty of real maple syrup </description> <calories>650</calories> </food> <food> <name>Strawberry Belgian Waffles</name> <price>$7.95</price> <description> Light Belgian waffles covered with strawberries and whipped cream </description> <calories>900</calories> </food> <food> <name>Berry-Berry Belgian Waffles</name> <price>$8.95</price> <description> Light Belgian waffles covered with an assortment of fresh berries and whipped cream </description> <calories>900</calories> </food> <food> <name>French Toast</name> <price>$4.50</price> <description> Thick slices made from our homemade sourdough bread </description> <calories>600</calories> </food> <food> <name>Homestyle Breakfast</name> <price>$6.95</price> <description> Two eggs, bacon or sausage, toast, and our ever-popular hash browns </description> <calories>950</calories> </food> </breakfast_menu>下面我們同樣直接拉到PQ里面整一下。
分析發現其實我們只要擴展”food“這個表,直接點擊”Table“。
下面我們還是通過一個實例來鞏固。
從外部XML文件獲取數據,進行處理。
”要求:從demo.xml文件中統計上世紀年各年代、國家歌手的數量?“
這個時候我們是通過一個新的方法進行打開:Power Query——從文件——從XML。
選擇”CD"表點編輯進入處理。(下面的style是樣式表,我們不需要關注。)
很高級,直接全部獲取了。
下面我們直接處理我們的需求,根據國家以及年代匯總歌手的數量。
我們最辣手的是處理一下年代,其實很簡單,從“YEAR”左邊第2個位置開始取一位即可,加上后綴“0年代”。
效果如下:
最后進行“分組依據",根據”國家“——”年代“進行計數,對”年代“進行”透視列“操作。
得到最終結果:
總結
以上是生活随笔為你收集整理的23、Power Query-XML与JSON数据获取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 22、Power Query-文本字符的
- 下一篇: 【学习笔记】ABAP OOD设计模式 -