M语言常用记录

整理了一下PQ笔记,将常用部分单独提出来,有备无患
永远需要拜读官方文档_url
由于主要用作爬虫,所以更多与网络请求相关
为什么要用pq而不用python?因为数据过程更直观,且移植性较强,不需要切换环境

常用语句请单

//发起post请求-表单
Json.Document(
	Web.Contents(
	"https://example.com",
	[
		Headers=[#"Content-Type"="application/x-www-form-urlencoded; charset=UTF-8"],
		Content=Text.ToBinary("")//若是get请求,则不要此项
	]))
//发起post请求-json
Json.Document(
	Web.Contents(
	"https://example.com",
	[
		Headers=[#"Content-Type"="application/json;charset=UTF-8"],
		Content=Text.ToBinary("")//这里需要注意,传入参数需要在txt中先单引号转为双引号,以避免引号冲突
		]))
		
//Content也可以使用记录构建
Content=Json.FromValue([key="v",key2=1,key3=null,key4=""])

//处理返回的数据:使用web.contents()请求数据后,得到的数据是binary二进制数据。
Web.page(binary)//转为表格
Json.document(binary)//以json读取
Table.FromRows()//当请求结果为rows时
Text.FromBinary()//解析为html

//获取当前文件中的查询列表
Record.FieldNames(#sections[Section1])

//常用表达式

//格式化日期,今天20200101
Date.ToText(Date.From(DateTime.LocalNow()),"yyyyMMdd")

//格式化日期,今天前N天:-N,昨天后N天:N
Date.ToText(Date.AddDays(Date.From(DateTime.LocalNow()),n),"yyyyMMdd")

//当前时间戳
Duration.TotalSeconds(DateTime.LocalNow()-#datetime(1970, 1, 1, 0, 0, 0))

//缓存表格,以保持排序。在pq中,用Table.Distinct去重时,往往不会按先后顺序去重。这时可先将原表缓存Table.Buffer,即可按先后顺序去重
Table.Buffer()//缓存表格
List.Buffer()//缓存列表

//创建一个函数
(x,y)=> let=(x+1)*y in//匿名函数(无参函数)其实没有必要,可以直接引用

Demo之获取飞书表格数据

let
	fstk="******",
	token="*****",
	sheet="t7xCaR",
	range="A:L",
	rsp = Table.FromRows(
		Json.Document(
			Web.Contents(
				"https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/"&token&"/values/"&sheet&"!"&range,
				[Headers=[#"Authorization"="Bearer "&fstk]]
				))[data][valueRange][values]),
    table= Table.PromoteHeaders(rsp, [PromoteAllScalars=true])
in
	table
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值