gpt4 book ai didi

r - 有没有办法通过 R 中的 read_excel(readxl) 中的列名来分配 col_types

转载 作者:行者123 更新时间:2023-12-04 20:34:47 24 4
gpt4 key购买 nike

我的应用程序正在阅读 xlsxlsx使用 read_excel 的文件readxl 的功能包裹。

在阅读 xls 时,之前不知道列的顺序和确切数量。或 xlsx文件。有 15 个预定义列 其中 10列必填 剩下的 5列可选 .所以文件总是有最少 10 列和 最大 15 列。

我需要指定 col-types到强制性的 10 列。我能想到的唯一方法是使用列名来指定 col_types据我所知,该文件有所有 10 列都是强制性的,但它们是随机序列。

我试图寻找这样做的方式,但没有这样做。

谁能帮我找到一种按列名分配 col_types 的方法?

最佳答案

我通过以下解决方法解决了这个问题。虽然这不是解决这个问题的最佳方法。我有 两次读取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)

关于r - 有没有办法通过 R 中的 read_excel(readxl) 中的列名来分配 col_types,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com