excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Power Query中列名是当天日期的时,导致数据抓取失败的处理办法

在网络抓取的过程中,经常有这种情况:表列的名字是用当天的日期来命名的,当我们对表列进行操作时,就要引用这个日期,如果是单次抓取没什么大问题,但是要每天更新数据时,就会报错。要解决这个问题也不是很难,就是要把列名与日期联动起来,需要用到日期时间函数: Date.ToText:日期转为文本,有点类似Excel中的Text函数,或者是DAX中的FormatDateTime.Date:将日期时间转换成日期DateTime.LocalNow:给出本地时间,相当于Excel函数中的Now函数#duration:时间间隔步骤一:正常抓取 使用从web获取数据,输入网址,提取表格,更改类型,删除不需要的列:步骤二:从查询创建函数 查询右键,创建函数:步骤三:修改列标题 先要做准备工作,制作会随日期变化而自动变化的列标题: 列标题是文本,首先要做出来日期的文本格式: d1= Date.ToText(DateTime.Date(DateTime.LocalNow()),"YYYY-MM-DD"),d2=Date.ToText(DateTime.Date(DateTime.LocalNow()-#duration(1,0,0,0)),"YYYY-MM-DD"), 一共有两个日期,当天和前一天,其中DateTime.LocalNow(),会得到日期+时间的一个值,DateTime.Date(DateTime.LocalNow())就会把这个值的日期部分保留下来,Date.ToText(DateTime.Date(DateTime.LocalNow()),"YYYY-MM-DD"),就是转换成文本的日期,格式是用短划线连接的。前一天的就减掉一天,-#duration(1,0,0,0)就是减去1天的意思。 接下来是制作4个列标题: a1=d1&" 单位净值", a2=d1&" 累计净值", a3=d2&" 单位净值", a4=d2&" 累计净值",日期后面还有文字,中间用连字符连接起来就可以了。 最后一步是替换列标题,用a1、a2、a3、a4替换掉具体日期的列名称:这样这个抓取函数就制作好了 引用 建立空查询,直接引用制作好的抓取函数就可以了:更多Power Query知识请订阅专栏:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接