此问题在此处已有答案:
Reading CSV file in R and formatting dates and time while reading and avoiding missing values marked as?(1个答案)
Specifying colClasses in the read.csv(7个答案)
11小时前关门了。
这应该很容易,但我在这里失去了我的头脑。
我使用read.csv读取了一个excel .csv文件。我可以看到,当我在列上运行类时,它当前被读取为字符类型。我需要R将其读取为日期类型。
我试过使用as.Date,as.Date.character,也试过lubridate的函数,但是没有任何效果。每次我尝试都得到一个错误消息:“字符结束日期(x):字符串不是标准的明确格式”或者我尝试填充值的对象返回为空。我读过几个网站和stackoverflow上发布的问题,但没有一个有效。我认为这是因为大多数问题的答案都不是直接来自.csv文件的字符串(如果我手动将其输入R Studio,我可以让它工作,但这违背了我的问题的要点)。
我试着回到Excel中,手动将单元格更改为不同的日期格式,但因为它是.csv,所以它会强制它回到“3/18/2023”格式。
我相信其他人已经尝试过将日期从.csv文件转换为字符。如何转换?
2条答案
按热度按时间aiazj4mn1#
我们可以使用lubridate的
parse_date_time()
函数将字符串值转换为从csv文件中读取的日期。...和输出:
此时,日期是“不明确的”,因为R不能分辨日期字段是日期中的第一个字段还是最后一个字段。
接下来,我们将数据读入R,加载
lubridate
并使用parse_date_time()
将字符串转换为日期,这允许我们指定年份字段是最后一个字段,并且是2位数(%y)而不是4位数(%Y)。最后,我们打印结果以显示日期值现在呈现为日期。
...和输出:
..并证明
startDate
和endDate
是日期:7cwmlq892#
如果其他人遇到这个问题,我仍然不知道如何使用.csv;但是,如果您可以将Excel文件另存为.xls或.xlsx,那么我找到了一个解决方案:
我不知道为什么R Studio喜欢使用这种方法导入相同的日期列,而不是.csv方法,但它不会再抛出那个错误了。希望有人能发布一个解决方案,不涉及重新保存excel文件为不同的格式,但这对我所需要的工作,所以它回答了我的问题。