r - 如何使用“readxl”包从 .xlsx 文件中选择两个特定列?
问题描述
我有一个包含 28 列的 .xlsx 文件。其中,我希望仅选择第 3 列(“销售人员”)和第 28 列(“客户 ID”)。我尝试了两个代码,但它们似乎都不起作用。请告诉我我在这里做错了什么:
read_xlsx("Active List till 7 Feb .xlsx",sheet = "Raw data",col_names = c("Salesperson","Customer ID"))
或者
read_xlsx("Active List till 7 Feb .xlsx",sheet = "Raw data",col_names = c(3,28))
使用第一个代码时出现以下错误
Error: Sheet 4 has 28 columns (28 unskipped), but `col_names` has length 2
在第二个代码中,我得到了从 3 到 28 的所有列,而不仅仅是 3 和 28。
我知道我可以稍后使用选择特定的列,select()
但我想知道如何将其直接指定到read_xlsx()
函数中。也让我知道是否有更好的方法来实现这一点。
谢谢!
解决方案
您可以为此使用以下代码
Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")
library(xlsx)
read.xlsx("Active List till 7 Feb .xlsx", sheetName = "Raw data", colIndex = c(3,28))
或者
使用openxlsx
包的解决方案
library(openxlsx)
read.xlsx("Active List till 7 Feb .xlsx", sheet = "Raw data", cols = c(3,28))
推荐阅读
- c# - 检测滚动条高度和当前位置
- c - 将 PyArrayObject 传递给 C 函数
- java - Generic Exception e catch 覆盖特定异常 Java
- php - PHP-重定向到另一个页面
- python - 如果第二个元素不是重复的,则删除 2d numpy 数组的行
- ruby-on-rails - 对于具有有限可能答案的参数,首选哪种数据类型?
- javascript - 悬停其他 div JavaScript CSS 时的图像遮罩和过渡
- c++ - 如何在自定义类中调用“SetDlgItemText”?
- modbus - 用于测试的设备模拟器
- android - NestedCoordinatorLayout 内的 NestedScrollView 有时会卡住