关于 table.fromrecords 的第二个参数的用法问题

Power Query 鸣人吃土豆 ⋅ 于 2020-06-11 22:39:33 ⋅ 最后回复由 鸣人吃土豆 2020-06-12 10:54:25 ⋅ 2179 阅读
let
    get_data = (page)=>
    let
        url="https://www.howbuy.com/fund/valuation/ajax.htm",
        headers=[#"Content-Type"="application/x-www-form-urlencoded;Referer=https://www.howbuy.com/fund/valuation/index.htm"],
        content="orderType=true&page="&Text.From(page)&"&allowGM=false"&"isOptional=false",
        data=Table.FromRecords(Json.Document(Web.Contents(url,[Headers=headers,Content=Text.ToBinary(content)]))[list])
    in
        data,
    result = Table.Combine(List.Transform({1..1},get_data))
in
    result

如上代码所示,我想要在Table.FromRecords中选择date,jjdm,jjjc,jjjz,netValue,preJjjz这几列,其他列我要排除掉,请问Table.FromRecords中怎么实现呢

最佳答案
  • Alex MOD 社区清洁工
    2020-06-12 00:40:06
    = Table.FromRecords(xxxxxxxx,{"date","jjdm","jjjc","jjjz","netValue","preJjjz"})
回复数量: 7
  • Alex MOD 社区清洁工
    2020-06-12 00:40:06
    = Table.FromRecords(xxxxxxxx,{"date","jjdm","jjjc","jjjz","netValue","preJjjz"})
  • 鸣人吃土豆
    2020-06-12 09:25:54

    @Alex 好的好的,成功了,谢谢哈

  • 鸣人吃土豆
    2020-06-12 09:43:12

    @Alex 还有个问题想请教一下,我想弄个延时,但是我这样子写会出错,不知道怎么写了:sob:

    let
        get_data = (page)=>
        let
            url="https://www.howbuy.com/fund/valuation/ajax.htm",
            headers=[#"Content-Type"="application/x-www-form-urlencoded;Referer=https://www.howbuy.com/fund/valuation/index.htm"],
            content="orderType=true&page="&Text.From(page)&"&allowGM=false"&"isOptional=false",
            data=Table.FromRecords(Json.Document(Web.Contents(url,[Headers=headers,Content=Text.ToBinary(content)]))[list],{"date","jjdm","jjjc","jjjz","netValue","preJjjz"},MissingField.UseNull)
    
        in
            data,
        result = Table.Combine(List.Transform({1..100},Function.InvokeAfter(get_data,#duration(0,0,0,5))))
    in
        result
  • 鸣人吃土豆
    2020-06-12 10:25:36

    @Alex 又出现了一个问题,数据爬取下来之后(有很多没有显示出来,得往下拉才会显示出来),然后点击关闭并上载,然后在excel页面就出现了以下错误,是什么原因以及怎么解决呢,谢谢了

    file

  • 鸣人吃土豆
    2020-06-12 10:38:12
  • Alex MOD 社区清洁工
    2020-06-12 10:49:34

    @鸣人吃土豆

    = Table.Combine(List.Transform({1..3},Function.InvokeAfter(()=>get_data,#duration(0,0,0,5))))

    你说的问题我没有遇到

  • 鸣人吃土豆
    2020-06-12 10:54:25

    @Alex 知道哪里有问题了,是我Function.InvokeAfter(()=>get_data)里缺少了“()=>“,谢谢了,终于知道这个的完整用法了,开心。还有回传到excel的问题您有空也帮我看一下,万分感谢

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter