使用JuliaDB读取文件时如何指定dd/mm/yyyy格式的日期解析规则
解决方法
你遇到的报错是因为JuliaDB默认按mm/dd/yyyy格式解析日期,会把你数据里第一位的「日」识别为「月」,当日数值大于12时就会触发月份越界错误。你可以通过指定列解析规则的方式自定义日期格式:
- 第一步:导入依赖包
using JuliaDB, Dates
- 第二步:定义匹配你数据的日期格式对象
custom_dateformat = DateFormat("d/m/Y")
- 第三步:调用
loadtable时通过colparsers参数指定日期列的解析规则
假设你存储日期的列名为record_date,示例写法如下:
mytable = loadtable("myfile", colparsers=Dict(:record_date => custom_dateformat))
如果有多个日期列都是相同格式,直接在Dict中添加对应列名的键值对即可:
mytable = loadtable("myfile", colparsers=Dict( :birth_date => custom_dateformat, :register_date => custom_dateformat ))
注意事项
- 格式串中
d匹配1-2位的日、m匹配1-2位的月、Y匹配4位的年,无需为单数字的日/月单独调整格式串 - 读取完成后可以执行
eltype(mytable.record_date)验证解析结果,输出为Date即代表解析规则生效
内容的提问来源于stack exchange,提问作者Joao
相关产品推荐
相关产品推荐

