我通过以下解决方法解决了这个问题。虽然这不是解决这个问题的最佳方法。我已经阅读了 excel 文件两次,如果该文件的数据量很大,这将对性能产生影响。
首先阅读: 构建列数据类型向量- 读取文件以检索列信息(如列名、列数及其类型)并构建文件中的每一列都column_data_types
vector
将包含的文件。datatype
#reading .xlsx file
site_data_columns <- read_excel(paste(File$datapath, ".xlsx", sep = ""))
site_data_column_names <- colnames(site_data_columns)
for(i in 1 : length(site_data_column_names)){
#where date is a column name
if(site_data_column_names[i] == "date"){
column_data_types[i] <- "date"
#where result is a column name
} else if (site_data_column_names[i] == "result") {
column_data_types[i] <- "numeric"
} else{
column_data_types[i] <- "text"
}
}
第二次读取: 读取文件内容- 通过提供具有列col_types
的参数来读取 excel 文件。vector
column_data_types
data types
#reading .xlsx file
site_data <- read_excel(paste(File$datapath, ".xlsx", sep = ""), col_types = column_data_types)