如何正确导入日期时间列?date+time在一列中,如DATE
我有一个txt文件,其中包含列:序列号、时间和温度。
我试过:
test.c <- read.csv("110.txt", header = F,skip = 26, sep = "", dec = ",", col.names = "Seriennummer","Zeit","Temperatur°C")
然而,这总是给我:
数据在编辑器中的外观如下:
数据:
readLines("8.txt",n=10)
[1] "Seriennummer Zeit\tTemperatur°C"
[2] " 1 16.03.2023 15:17:33 26,8"
[3] " 2 16.03.2023 15:18:33 27"
[4] " 3 16.03.2023 15:19:33 26,8"
[5] " 4 16.03.2023 15:20:33 26,3"
[6] " 5 16.03.2023 15:21:33 26"
[7] " 6 16.03.2023 15:22:33 25,5"
[8] " 7 16.03.2023 15:23:33 25,3"
[9] " 8 16.03.2023 15:24:33 25,1"
[10] " 9 16.03.2023 15:25:33 24,9"
2条答案
按热度按时间m2xkgtsf1#
read.fwf
(读取固定宽度字段)应该可以很好地工作,但您必须计算行中的字符数以确定适当的widths=
参数(从您发布的图像中很难区分)。我不认为base R会自动转换为日期时间格式,但
readr::read_fwf()
(类似于read.fwf
,但更灵活一点)可能会。它可能会正确地“猜测”。.. based on the positions of empty columns”(默认设置),您可以尝试一下。..看起来这是可行的(猜测不起作用,因为它想再次分割日期和时间。..我使用了一个支持列号的文本编辑器来为每个字段确定适当的开始/结束位置)
kknvjkwl2#
你可以逐行读取文件,将行存储为dataframe列,然后使用{tidyr}的
separate
函数将文本拆分为列,使用两个或多个空格作为分隔符(这样只包含一个空格的datetime就不会被拆分):