我有两个不同的Excel文件,excel1
和excel2
。
我正在使用单独但相同的功能来阅读它们:
df1<- readxl::read_xlsx("excel1.xlsx", sheet= "Ad Awareness", skip= 7)
df2<- readxl::read_xlsx("excel2.xlsx", sheet= "Ad Awareness", skip= 7)
但是,当我在每一个上运行head()
时,df都会返回以下内容:
calDate Score
<dttm> <dbl>
1 2016-10-17 00:00:00 17.8
2 2016-10-18 00:00:00 17.2
3 2016-10-19 00:00:00 20.3
这是df2返回的内容:
calDate Score
<dbl> <lgl>
1 43025 NA
2 43026 NA
3 43027 NA
任何原因为何读取的数据类型都不相同?这些文件没有什么不同。
答案 0 :(得分:1)
read_xlsx()
将根据您的数据猜测变量类型(有关更多信息,请参见here)。
所以您所描述的可能是由于:
不同文件中的数据量不同(其中一个文件中的数据不足以进行正确猜测)
您可能在Excel中对单元格格式进行了更改(这些更改在Excel中并不总是在视觉上很明显)
没有看到您的数据,很难给您比这更多的答案。
但是您可以使用col_types
参数来控制它:
col_types:“ NULL”以从电子表格中猜测所有内容,或者 字符向量,其中每列包含一个条目 选项:“跳过”,“猜测”,“逻辑”,“数字”,“日期”, “文本”或“列表”。如果只指定了一个“ col_type”, 将被回收。跳过列中单元格的内容 永远不会读取,并且该列将不会出现在数据中 帧输出。列表单元格将一列作为长度列表加载 1个向量,使用向量中的类型猜测逻辑来输入 “ col_types = NULL”,但基于每个单元格。