You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未知总页数时Power Query中API分页实现方法咨询

Power Query无初始分页信息时的API分页处理方案

前提说明

你已确认追加&total_count=true到API URL后可获取总记录数(1286条),基于此可按以下步骤实现分页抓取:


1. 先获取总记录数

构造带&total_count=true的请求URL,在Power Query中发起请求并提取总记录数:

let
    TotalCountUrl = "你的API基础URL&total_count=true",
    TotalCountResp = Web.Contents(TotalCountUrl),
    TotalCountJson = Json.Document(TotalCountResp),
    TotalRecords = TotalCountJson[total_count] // 替换为实际返回的总条数字段名
in
    TotalRecords

2. 计算总页数

先确定每页请求的记录数(比如设为100,可根据API限制调整),再通过向上取整计算总页数:

let
    TotalRecords = 1286, // 步骤1得到的总记录数
    PageSize = 100, // 自定义每页条数
    TotalPages = Number.RoundUp(TotalRecords / PageSize)
in
    TotalPages

3. 生成所有分页请求URL

根据API的分页规则(常用page页码参数或offset偏移量参数),生成所有分页的请求URL列表:

let
    TotalRecords = 1286,
    PageSize = 100,
    TotalPages = Number.RoundUp(TotalRecords / PageSize),
    PageNumbers = List.Numbers(1, TotalPages),
    // 假设API用limit(每页条数)和offset(偏移量)参数,若用page参数则替换为&page=" & Text.From(_)
    PageUrls = List.Transform(PageNumbers, each "你的API基础URL&limit=" & Text.From(PageSize) & "&offset=" & Text.From((_ - 1)*PageSize))
in
    PageUrls

4. 批量请求并合并数据

遍历所有分页URL,逐个解析JSON数据并合并成完整表格:

let
    PageUrls = ..., // 步骤3生成的URL列表
    PageDataList = List.Transform(PageUrls, (url) => 
        let
            Resp = Web.Contents(url),
            JsonData = Json.Document(Resp),
            DataTable = Table.FromRecords(JsonData[data]) // 替换为实际返回的数据字段名
        in
            DataTable
    ),
    CombinedData = Table.Combine(PageDataList)
in
    CombinedData

5. 可选:添加异常处理

为避免单个分页请求失败导致整个流程中断,可加入try...otherwise做错误处理:

PageDataList = List.Transform(PageUrls, (url) => 
    try
        let
            Resp = Web.Contents(url),
            JsonData = Json.Document(Resp),
            DataTable = Table.FromRecords(JsonData[data])
        in
            DataTable
    otherwise
        Table.FromRecords({}) // 请求失败时返回空表
),
CombinedData = Table.Combine(PageDataList)

内容的提问来源于stack exchange,提问作者Aimee L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:30:18