在BigQuery中将Yearweek和Yearmonth转换为日期
转换Yearweek和Yearmonth为标准日期格式
处理Yearweek(YYYYWW)转该周第一天
以202053转成2020-12-28为例,这里采用ISO周标准(周一为每周第一天,每年第53周多属于年末时段)。用Python的datetime模块可直接处理:
from datetime import datetime yearweek = "202053" # 拼接周内第一天标识,按ISO规则解析日期 date_obj = datetime.strptime(yearweek + "-1", "%G%V-%u") formatted_date = date_obj.strftime("%Y-%m-%d") print(formatted_date) # 输出: 2020-12-28
解释:%G对应ISO年份,%V对应ISO周数,%u代表周内天数(1=周一),拼接-1即可锁定该周第一天。
处理Yearmonth(YYYYMM)转当月第一天
以202012转成2020-12-01为例,直接拼接日期后缀再格式化即可:
yearmonth = "202012" # 拆分年份月份,拼接当月第一天 date_str = f"{yearmonth[:4]}-{yearmonth[4:]}-01" date_obj = datetime.strptime(date_str, "%Y-%m-%d") print(date_obj.strftime("%Y-%m-%d")) # 输出: 2020-12-01
如果用Excel处理:
- Yearweek转日期:使用公式
=DATE(LEFT(A2,4),1,RIGHT(A2,2)*7-5),设置单元格格式为日期即可(注意部分版本需调整周数规则匹配ISO标准) - Yearmonth转日期:使用公式
=DATE(LEFT(B2,4),RIGHT(B2,2),1),设置日期格式即可
内容的提问来源于stack exchange,提问作者James Harrington
相关产品推荐
相关产品推荐

