R:两个相同结构的 Excel 文件 Return 数据框中的不同数据类型

R: Two Identically Structured Excel Files Return Different Data Types in Data Frames

我有两个不同的 Excel 文件,excel1excel2

我正在使用不同但相同的函数阅读它们:

df1<- readxl::read_xlsx("excel1.xlsx", sheet= "Ad Awareness", skip= 7)
df2<- readxl::read_xlsx("excel2.xlsx", sheet= "Ad Awareness", skip= 7)

但是,当我在每个 运行 head() 上时,这里是 df` returns:

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 returns:

  calDate Score
    <dbl> <lgl>
1   43025 NA   
2   43026 NA   
3   43027 NA   

为什么读入的数据类型不同?这些文件没有什么不同。

read_xlsx() 将根据您的数据猜测变量类型(有关详细信息,请参阅 here)。

所以您所描述的可能是由于:

  • 不同文件中的数据量不同(其中一个文件中的数据不足,无法做出正确的猜测)

  • 您可能在 Excel 中对单元格格式进行了更改(这些更改在 Excel 中并不总是很明显)

没有看到你的数据,很难给你比这更多的答案。

但是您可以使用 col_types 参数来控制它:

col_types: Either ‘NULL’ to guess all from the spreadsheet or a character vector containing one entry per column from these options: "skip", "guess", "logical", "numeric", "date", "text" or "list". If exactly one ‘col_type’ is specified, it will be recycled. The content of a cell in a skipped column is never read and that column will not appear in the data frame output. A list cell loads a column as a list of length 1 vectors, which are typed using the type guessing logic from ‘col_types = NULL’, but on a cell-by-cell basis.