0

0

Excel Power Query怎么导入XML数据 Power Query入门

幻夢星雲

幻夢星雲

发布时间:2025-12-27 10:10:03

|

143人浏览过

|

来源于php中文网

原创

Power Query 导入XML数据需理解其层级结构,从文件或Web导入后逐层展开Record/List,区分Attribute(@符号)与Element,处理命名空间、大小写、空值等问题,再清洗转为正式表格。

excel power query怎么导入xml数据 power query入门

Power Query 导入 XML 数据其实很直接,关键在于理解 XML 的结构特点和 Power Query 的解析逻辑。XML 是层级式数据(比如有父节点、子节点、属性),Power Query 会自动将其展开为表格形式,但需要你手动选择要保留的层级和字段。

从文件导入 XML(最常用)

在 Excel 中:数据 → 获取数据 → 从文件 → 从 XML → 浏览选中你的 .xml 文件。Power Query 编辑器会自动加载并尝试解析根节点下的结构。如果 XML 有多层嵌套(如 OrdersOrderItem),它通常会展开到最内层重复项(比如所有 Item),这时你看到的是一张扁平化表格。

  • 若第一层就显示“Record”或“List”,说明当前节点包含多个子节点或属性,点击右侧的展开图标(⎘)即可逐层展开
  • 注意区分“Attribute”(带 @ 符号的列,对应 XML 属性,如 中的 id)和“Element”(普通子节点内容)
  • 展开后可右键列标题 → “删除其他列”,只保留需要的字段

从网页或 API 加载 XML(动态数据源)

适用于调用返回 XML 格式的接口(如某些老系统、政府公开数据)。选择:数据 → 获取数据 → 从 Web → 粘贴 URL。Power Query 会尝试识别响应格式;若未自动按 XML 解析,可在高级编辑器里把源代码中的 Web.Contents(...) 包裹成 Xml.Tables(Web.Contents(...))

多面-AI面试
多面-AI面试

猎聘推出的AI面试平台

下载
  • 遇到 HTTPS 证书或重定向问题时,可在 Web.Contents 中添加选项:[Timeout=#duration(0,0,0,30), ManualStatusHandling={404,500}]
  • 如果返回的是单个 XML 元素(如 success),用 Xml.Document() 更合适,再用 Record.ToTable 提取值

处理常见 XML 结构问题

不是所有 XML 都规整。比如同一层级下子节点名称不统一(Priceprice 并存)、存在命名空间(xmlns="http://...")、或混合文本与子节点,这些都会导致展开失败或列丢失。

  • 命名空间问题:在高级编辑器中,先用 Xml.Document(Binary.FromText(xmlText)) 加载,再用 Xml.Namespace("http://...") 显式声明,或用 Text.Remove 函数提前删掉 xmlns 属性
  • 大小写不一致:用“转换”→“更改为小写”统一列名,再合并列或条件列处理
  • 空节点或缺失字段:展开后会出现 null,可用“替换值”填默认值,或用 try ... otherwise ... 在自定义列中容错

导入后清洗与转为正式表格

XML 导入后仍是查询状态,需进一步整理才能用于分析。典型操作包括:重命名列(双击列名)、调整数据类型(点击列标题旁的图标选“整数”“日期”等)、筛选非空行、按某列分组聚合(如统计每个 Category 下的 Product 数量)。

  • 若原始 XML 中日期是 "2024-03-15T08:30:00" 这种 ISO 格式,Power Query 能自动识别为 datetime;若为中文格式(如“2024年3月15日”),需用 Date.FromText 配合文化参数
  • 完成所有步骤后点左上角“关闭并上载”,数据就会进入 Excel 工作表;勾选“仅创建连接”可不落地,适合做后台刷新

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

295

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

216

2025.10.31

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

226

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

430

2024.03.01

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1843

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2080

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

914

2024.11.28

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

984

2023.10.19

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

25

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 9.6万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号