如何阅读R data.table带有日期的csv

时间:2017-11-09 14:52:29

标签: r data.table

如何使用data.table库完美地阅读这种具有日期的CSV?

class TestVolume:

    def __init__(self, volume: float):
        assert volume > 0
        self._volume = volume * 1000
        self.volume = self._volume

我遇到的问题是无法识别日期格式:

fread中的警告消息:在第2行开始输入数据并丢弃第1行,因为它有太少或太多的项目不是列名或数据:date

我用来读它:

date
2011-12-31T12:00:00Z
2011-12-31T13:00:00Z
2011-12-31T14:00:00Z
2011-12-31T15:00:00Z
2011-12-31T16:00:00Z
2011-12-31T17:00:00Z
2011-12-31T18:00:00Z
2011-12-31T19:00:00Z

返回的data.table是:

data<-fread(data.csv,header=T)

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试将安装更新为data.table的开发版本(1.10.5+); sep检测逻辑已经改善了一点:

# if this doesn't work for you, check the Installation page on GitHub
install.packages('data.table', type = 'source',
                 repos = 'http://Rdatatable.github.io/data.table')

这样你的文件在没有任何其他输入的情况下读取:

fread('date
2011-12-31T12:00:00Z
2011-12-31T13:00:00Z
2011-12-31T14:00:00Z
2011-12-31T15:00:00Z
2011-12-31T16:00:00Z
2011-12-31T17:00:00Z
2011-12-31T18:00:00Z
2011-12-31T19:00:00Z
')
#                    date
# 1: 2011-12-31T12:00:00Z
# 2: 2011-12-31T13:00:00Z
# 3: 2011-12-31T14:00:00Z
# 4: 2011-12-31T15:00:00Z
# 5: 2011-12-31T16:00:00Z
# 6: 2011-12-31T17:00:00Z
# 7: 2011-12-31T18:00:00Z
# 8: 2011-12-31T19:00:00Z

答案 1 :(得分:0)

我找到了解决方案:

data<-fread("data.csv",sep=",")