使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

使用 Power Query 将存储在单个文件夹中的相同架构的多个文件合并到一个表中。 例如,每个月你希望合并来自多个部门的预算工作簿,其中列相同,但行数和值在每个工作簿中有所不同。 设置后,可以像使用任何单个导入的数据源一样应用其他转换,然后 刷新数据 以查看每个月的结果。  

合并文件夹文件的概念性概述

注意    本主题演示如何合并文件夹中的文件。 还可以合并 SharePoint、Azure Blob 存储 和 Azure Data Lake Storage 中存储的文件。 此过程类似。

保持简单:

  • 确保要合并的所有文件都包含在专用文件夹中,没有多余的文件。 否则,文件夹中的所有文件和你选择的任何子文件夹中都包含在要组合的数据中。

  • 每个文件应具有相同的架构,具有一致的列标题、数据类型和列数。 列不必采用与列名称匹配相同的顺序。

  • 如果可能,请避免对可以具有多个数据对象的数据源(例如 JSON 文件、Excel 工作簿或 Access 数据库)使用不相关的数据对象。

其中每个文件都遵循简单的模式,每个文件中只有一个数据表。

  1. 选择“数据”> 从文件夹中的文件 >获取数据 >。 此时会显示“ 浏览 ”对话框。

  2. 找到包含要合并的文件的文件夹。

  3. 文件夹中的文件列表显示在“<文件夹路径>”对话框中。 验证是否列出了所需的所有文件。

    示例文本导入对话框

  4. 选择对话框底部的命令之一,例如“合并 > 合并 & 加载”。 关于所有这些命令一节中讨论了其他 命令

  5. 如果选择任意 “合并 ”命令,将显示“ 合并文件 ”对话框。 若要更改文件设置,请从“ 示例文件 ”框中选择每个文件,根据需要设置 “文件原点”、“ 分隔符”和 “数据类型检测 ”。 还可以选中或清除对话框底部的 “跳过包含错误的文件 ”复选框。

  6. 选择“确定”。

结果

Power Query自动创建查询,以将每个文件中的数据合并到工作表中。 创建的查询步骤和列取决于你选择的命令。 有关详细信息,请参阅 关于所有这些查询部分。

  1. 选择“数据”> 从文件夹中的文件 >获取数据 >。 此时会显示“ 浏览”对话框。

  2. 找到包含要合并的文件的文件夹。

  3. 文件夹中的文件列表显示在“<文件夹路径>”对话框中。 验证是否列出了所需的所有文件。

  4. 选择对话框底部的命令之一,例如“合并 ”> “合并 & 转换”。 关于所有这些命令一节中讨论了其他 命令

    此时会显示Power Query 编辑器。

  5. “值”列是结构化 列表 列。 选择 “展开 “展开列”图标 ”图标,然后选择“ 展开到新行”。 

    展开 JSON 列表

  6. “值”列现在是结构化 的“记录” 列。 选择“ 展开 “展开列”图标 ”图标。 此时会显示一个下拉对话框。

    展开 JSON 记录

  7. 保持选中所有列。 你可能想要清除“使用原始列名作为前缀检查框。 选择“确定”。

  8. 选择包含数据值的所有列。 选择“ 开始”,即 “删除列”旁边的箭头,然后选择“ 删除其他列”。

  9. 选择 “开始 > 关闭 & 加载”。

结果

Power Query自动创建查询,以将每个文件中的数据合并到工作表中。 创建的查询步骤和列取决于你选择的命令。 有关详细信息,请参阅 关于所有这些查询部分。

其中每个数据源可以有多个要导入的对象。 Excel 工作簿可以有多个工作表、Excel 表格或命名区域。 Access 数据库可以有多个表和查询。 

  1. 选择“数据”> 从文件夹中的文件 >获取数据 >。 此时会显示“ 浏览”对话框。

  2. 找到包含要合并的文件的文件夹。

  3. 文件夹中的文件列表显示在“<文件夹路径>”对话框中。 验证是否列出了所需的所有文件。

  4. 选择对话框底部的命令之一,例如“合并 > 合并 & 加载”。 关于所有这些命令一节中讨论了其他 命令

  5. 在“ 合并文件 ”对话框中:

    • 在“ 示例文件 ”框中,选择要用作创建查询的示例数据的文件。 不能选择对象,也可以只选择一个对象。 但是,不能选择多个。

    • 如果有多个对象,请使用 “搜索 ”框查找对象或 “显示选项” 以及“ 刷新 ”按钮来筛选列表。

    • 选中或清除对话框底部的 “跳过包含错误的文件 ”复选框。

  6. 选择“确定”。

结果

Power Query自动创建查询,以将每个文件中的数据合并到工作表中。 创建的查询步骤和列取决于你选择的命令。 有关详细信息,请参阅 关于所有这些查询部分。

为了提高灵活性,可以使用“合并文件”命令显式合并Power Query 编辑器中的文件。 假设源文件夹混合了文件类型和子文件夹,并且你希望以具有相同文件类型和架构的特定文件为目标,而不是其他文件。 这可以提高性能,并有助于简化转换。

  1. 选择“数据 ”> 从文件夹中的文件 > 获取数据 >。 此时会显示“ 浏览 ”对话框。

  2. 找到包含要合并的文件的文件夹,然后选择“ 打开”。

  3. 文件夹和子文件夹中的所有文件的列表显示在“ <文件夹路径> ”对话框中。 验证是否列出了所需的所有文件。

  4. 选择底部的“ 转换数据 ”。 Power Query 编辑器打开并显示文件夹和任何子文件夹中的所有文件。

  5. 若要选择所需的文件,请筛选列,例如“扩展”或“文件夹路径”。

  6. 若要将文件合并到单个表中,请选择包含每个二进制 (通常为第一列) 的内容列,然后选择“开始”>“合并文件”。 此时将显示“ 合并文件 ”对话框。

  7. Power Query分析示例文件(默认为列表中的第一个文件),以使用正确的连接器并标识匹配的列。

    若要将其他文件用于示例文件,请从“ 示例文件 ”下拉列表中选择它。

  8. (可选)在底部选择“ 跳过出现错误 的文件”,从结果中排除这些文件。

  9. 选择“确定”。

结果

Power Query自动创建查询,以将每个文件中的数据合并到工作表中。 创建的查询步骤和列取决于你选择的命令。 有关详细信息,请参阅 关于所有这些查询部分。

可以选择多个命令,每个命令都有不同的用途。

  • 合并和转换数据    若要将所有文件与查询合并,然后启动Power Query 编辑器,请选择“合并 > 合并和转换数据”。

  • 合并和加载   若要显示“ 示例 文件”对话框,请创建查询,然后加载到工作表,选择“ 合并 > 合并和加载”。

  • 合并并加载到   若要显示“ 示例 文件”对话框,请创建查询,然后显示“ 导入 ”对话框,选择“ 合并 > 合并并加载到”。

  • 负荷    若要创建包含一个步骤的查询,然后加载到工作表,请选择“ 加载 > 加载”。

  • 加载到   若要创建包含一个步骤的查询,然后显示“ 导入 ”对话框,请选择“ 加载 > 加载到”。

  • 转换数据若要通过一个步骤创建查询,然后启动Power Query 编辑器,请选择“转换数据”。

但是,合并文件时,“ 查询 ”窗格中的“帮助程序查询”组下会创建多个支持查询。

在“查询”窗格中创建的查询列表

  • Power Query基于示例查询创建“示例文件”查询。

  • “转换文件”函数查询使用“Parameter1”查询指定每个文件 (或二进制) 作为“示例文件”查询的输入。 此查询还会创建包含文件内容的 Content 列,并自动展开结构化 Record 列以将列数据添加到结果中。 “转换文件”和“示例文件”查询已链接,因此对“示例文件”查询的更改反映在“转换文件”查询中。

  • 包含最终结果的查询位于“其他查询”组中。 默认情况下,它以导入文件的文件夹命名。

若要进一步调查,请右键单击每个查询,然后选择“ 编辑” 以检查每个查询步骤并查看查询如何协同工作。

若要开始合并多个文件的过程,请先确保要合并的所有文件都包含在单个文件文件夹中。

注意: 支持 Excel、文本、CSV、JSON、XML 和 Access 文件。

  1. 单击“Power Query”选项卡,然后单击“从文件 > 从文件夹”。

    Power Query >从文件 > 从文件夹选项
  2. 单击“ 浏览 ”按钮找到文件夹。

    将显示文件夹中的文件列表。 选择“编辑”选项以打开查询编辑器。 在本例中,我们已加载 4 个 Excel 工作簿。

    “合并二进制文件”对话框和要合并的文件
  3. 确认列出了所需的所有文件后,单击“内容”列中的“合并二进制文件”按钮。

    在“查询内容”列或“合并”功能区 Power Query中的“合并”部分中按“合并二进制文件”按钮
  4. 将分析每个文件,并确定正确的文件格式,例如 文本ExcelJSON。 在这种情况下,将显示第一个 Excel 工作簿中的工作表列表。 选择要使用的工作表,然后单击“ 确定”。

    显示可用 Excel 工作表的“合并二进制文件”对话框,以选择主要合并目标
  5. 然后,合并二进制文件转换过程将自动创建一个查询来合并每个文件中的数据并显示预览。 如果对结果感到满意,请单击“ 关闭 & 加载”。

    “合并二进制文件预览”对话框。 按 Close & Load 接受结果并将其导入 Excel。

    然后,合并二进制文件过程会将列出的工作表合并到单个工作表中。

  6. 如果原始数据文件发生更改,则始终可以刷新导入的数据。 单击数据范围内的任意位置,然后转到 “查询工具 > 刷新”。 此外,可以通过修改自动创建的示例查询轻松应用其他转换或提取步骤,而无需担心修改或创建其他函数查询步骤;示例查询的任何更改都会在链接函数查询中自动生成。

已知问题

将合并二进制文件过程加载到 Excel 时,可能会看到以下错误消息:

合并二进制文件错误消息。 这是正在解决的已知 bug。

如果通过单击“ 确定” () 消除错误, 则合并二进制文件 进程将完成并正确加载数据,尽管存在错误。 我们正在努力更正错误。

另请参阅

Microsoft Power Query for Excel 帮助

追加查询

合并文件概述 (docs.com)

在 Power Query (docs.com) 中合并 CSV 文件

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×