我有一个带有时间戳列的csv文件。时间戳的格式为%Y-%m-%d %H:%M:%OS4
,即毫秒值也是4位数。当我使用read.csv()
读取这个csv时,我没有得到毫秒,而只是得到字符格式的秒。我怎么能读毫秒呢?
编辑添加需要数据和代码:mtc_data = read.csv(path/to/csv)
Notepad.pw link to data
我有一个带有时间戳列的csv文件。时间戳的格式为%Y-%m-%d %H:%M:%OS4
,即毫秒值也是4位数。当我使用read.csv()
读取这个csv时,我没有得到毫秒,而只是得到字符格式的秒。我怎么能读毫秒呢?
编辑添加需要数据和代码:mtc_data = read.csv(path/to/csv)
Notepad.pw link to data
2条答案
按热度按时间tvokkenx1#
在阅读
read.csv
之后(您可能希望使用选项stringsAsFactors=FALSE
),使用as.POSIXct
和您已有的格式字符串。毫秒存储在内部。使用strftime
可以显示毫秒,变量不再是"POSIXct"
,而是"character"
。在阅读后使用trimws
来删除不必要的空格可能更安全。字符串
tyky79it2#
如果在调用
read.csv
时将“POSIXct”指定为datetime列的colClass,则将保留时间信息(包括毫秒),如下所示。字符串
指定
options(digits.secs = 4)
有助于将毫秒显示设置为四位数,但不需要保留信息(至少在本例中是这样)。指定na.strings
来处理缺失值也很有用。还需要注意的是,POSIXct似乎没有处理默认情况下用“T”分隔日期和时间的ISO standard dates:如果它找到一个时间信息,它将截断时间信息,所以如果你有这些,你可能需要先用空格替换“T”。参见
read.csv
文档here。作为参考,CSV文件为:
型