java读csv的日期字段_读取.csv文件时会自动检测到R日期?

我有一大堆代码,我经常运行以读取并清理a.csv文件 . 清理过程的一部分是识别日期列并将它们转换为正确的格式,我使用函数(见下文) . 我将日期格式设置为 "%d/%m/%Y" ,因为这是我在MS Excel(Office 2010)中查看时出现在.csv文件中的方式 .

> convert.dates

function(data, datestring, excludestring=NULL, extradatecols=NULL, dateformat) {

if(is.null(extradatecols)) {datecols1

if(is.null(excludestring)) {datecols2

data[, datecols2] = data.frame(lapply(data[, datecols2], as.Date, format=dateformat), stringsAsFactors=FALSE)

data

}

我最近升级到R 3.2.3并将我的R Studio更新为版本0.99.489 .

更新后,尽管选择了正确的格式,我的函数仍无法转换日期(基于我在.csv文件中看到的内容) . 在进一步检查时, read.csv 已将我在.csv文件中观察到的 "%d/%m/%Y" 格式的日期转换为 "%Y-%m-%d" 并将其存储为因子 . 然后我能够使用 "%Y-%m-%d" 格式应用我的convert.dates函数并且它可以工作 .

> str(mydata$dob)

Factor w/ 3069 levels "1960-01-15" "1977-05-03" "2014-01-19" NA NA ...

> mydata

> str(mydata$dob)

Date[1:5000], format: "1960-01-15" "1977-05-03" "2014-01-19" NA NA ...

如果现在是read.csv的预期行为,这不是什么大问题,但我在发行说明中找不到任何相关内容,所以只想检查 - read.csv应该以 %d/%m/%Y 格式识别任何内容在阅读时将其转换为 %Y-%m-%d ,或者这与MS Excel在查看.csv文件时自动转换日期显示有关(尽管实际编写的方式可能不同)? .csv文件是从postgres数据库下载的 . 我不确定原始数据库中日常的日期格式是什么 .

任何见解都将非常感激 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值