如何通过Power Query对比文件夹内两个CSV文件并实现刷新?
用Power Query对比指定文件夹CSV的最简实现方案
1. 批量导入文件夹内的CSV文件
- 打开Power Query编辑器(Excel选「数据」>「获取数据」>「从文件」>「从文件夹」;Power BI选「获取数据」>「文件夹」),指定目标文件夹路径
- 进入文件夹预览后点击「编辑」,添加自定义列,输入公式:
Csv.Document([Content]),将列名改为「CSV内容」
2. 统一结构并生成校验标识
- 展开「CSV内容」列时勾选「使用第一行作为标题」
- 添加两个自定义列做校验:
- 结构校验列:公式
Text.From(Table.RowCount([CSV内容])) & "行-" & Text.From(Table.ColumnCount([CSV内容])) & "列",命名为「结构标识」——用来快速判断行列数量是否一致 - 数据校验列:公式
Binary.ToText(Table.Hash([CSV内容]), BinaryEncoding.Base64),命名为「数据哈希」——通过哈希值判断所有单元格内容是否完全匹配
- 结构校验列:公式
3. 执行对比验证
- 按「结构标识」分组:如果出现多个不同的标识,说明存在行列数量不匹配的文件
- 对结构一致的分组,查看「数据哈希」:所有文件哈希值相同则数据完全匹配;出现不同哈希则说明结构一致但内容有差异
4. 配置刷新机制
- 完成编辑后点击「关闭并上载」
- 文件夹新增文件时,右键查询结果选择「刷新」即可同步;也可设置自动刷新:Excel在「数据」>「连接属性」中设置刷新频率,Power BI发布到服务后配置刷新计划
内容的提问来源于stack exchange,提问作者Kidus Yohans
相关产品推荐
相关产品推荐

