1、python中如何获取返回结果中某列的值?
场景: 调用某个接口返回的结果result,打印如下图(列名、列值)
现在要获取某一列名对应的值
刚开始,在百度上查了好久,都不行,也可能是搜索的关键字错误,后来问同事,得以解决
取值方式: result[‘字段名’].values[0]就可以取到对应的值(具体取值方式还要根据返回值结构改变,仅供参考)
2、日期字符串转为日期的方法?
1.导包
import datetime
from dateutil.relativedelta import relativedelta
2.使用
例如字符串:strBefor = “2020-06-03”
strAfter = datetime.datetime.strptime(strBefor ,"%Y-%m-%d")
转换后结果为: 2020-06-03 00:00:00
注意: 使用strptime方法时,数据格式要和后面的格式保持一致,否则报错
踩的坑: 刚开始不懂,百度的结果有人说是 datetime.datetime.strptime(strBefor ,"%Y-%m-%d").time可以将字符串转为日期,结果,打印的结果是 00:00:00
所以,time获取的只是时分秒,不加time获取的才是正确的,年月日时分秒日期格式
3、当前日期往前推n天、或者往前推n月?
strAfter 为当前日期
当前日期往前推n天: date = strAfter + relativedelta (days=-n)
当前日期往前推n月: date = strAfter + relativedelta (months=-n)
往后推,+n
tips:
1.days、months、years表示前后推移多少天/月/年
2.day、month、year表示设置天/月/年为多少
3.使用relativedelta 时,参与计算的值(strAfter)一定要是日期
4.这个方法能很好的避免,03-30往前推1个月出现02-30的情况,系统会自动解决,闰年为02-28平年为02-27;如果是2020-01-06往前推1个月得到的结果为2019-12-06,这个函数还是很强大的
4、日期转为字符串?
datetime.datetime.strftime(strAfter ,"%Y%m%d")
转换后结果为: 20200603