【发布时间】:2018-07-21 09:56:33
【问题描述】:
当我在 Jupyter 笔记本中读取 csv 文件时,我得到以下输出
54×9 Array{Any,2}:
"\"25 Nov 2015\"" 28637 11314 3804 2536 10675 4808 14122 3955
"\"18 Nov 2015\"" 28634 11314 3804 2536 10672 4808 14122 3955
"\"11 Nov 2015\"" 28635 11314 3805 2536 10672 4808 14122 3955
"\"4 Nov 2015\"" 28607 11314 3810 2536 10672 4808 14089 3955
"\"25 Oct 2015\"" 28539 11298 3806 2535 10672 4808 14061 3955
⋮ ⋮
"\"12 May 2014\"" 260 182 248 171 12 11 "" ""
"\"1 May 2014\"" 239 160 226 149 13 11 "" ""
"\"14 Apr 2014\"" 176 110 168 108 8 2 "" ""
"\"31 Mar 2014\"" 130 82 122 80 8 2 "" ""
"\"22 Mar 2014\"" 49 29 49 29 "" "" "" ""
我想将第一列内容更改为日-月-年格式,以计算自第一次观察以来经过的年数(在本例中是我的最后一行)。
我尝试使用字符串转换列,然后使用 for 循环(假设我的文件名为“ebola”
dias = string.(ebola[:,1])
for i = 1:length(dias)
dias[i] = DateTime(dias[i], "d-m-y")
end
在那之后,我收到了这个错误信息
ArgumentError: Unable to parse date time. Expected directive DatePart(d) at char 1
我想这个错误的出现是因为字符串有一个非常规的格式来操作它,有四个“”符号和一些反斜杠:
"\"25 Nov 2015\""
我必须在输入时添加,例如:
length("\"22 Mar 2014\"")
当您可以计算 17 个字符时,结果为 13,因此很明显反斜杠会产生一些“噪音”。
为了执行我想做的任务,我可以做些什么来将字符串转换为适当的格式? 任何帮助将不胜感激。
【问题讨论】:
标签: function datetime jupyter-notebook julia