R:两个相同结构的 Excel 文件 Return 数据框中的不同数据类型
R: Two Identically Structured Excel Files Return Different Data Types in Data Frames
我有两个不同的 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` 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.
我有两个不同的 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` 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.