Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用“readxl”包从.xlsx文件中选择两个特定列?_R_Readxl - Fatal编程技术网

如何使用“readxl”包从.xlsx文件中选择两个特定列?

如何使用“readxl”包从.xlsx文件中选择两个特定列?,r,readxl,R,Readxl,我有一个包含28列的.xlsx文件。其中,我只想选择第3列Salesperson和第28列Customer ID。 我试着遵循两个代码,但它们似乎都不起作用。请告诉我我做错了什么: read_xlsx("Active List till 7 Feb .xlsx",sheet = "Raw data",col_names = c("Salesperson","Customer ID")) 或 在使用第一个代码时,我遇到了以下错误 Error: Sheet 4 has 28 columns (28

我有一个包含28列的.xlsx文件。其中,我只想选择第3列Salesperson和第28列Customer ID。 我试着遵循两个代码,但它们似乎都不起作用。请告诉我我做错了什么:

read_xlsx("Active List till 7 Feb .xlsx",sheet = "Raw data",col_names = c("Salesperson","Customer ID"))

在使用第一个代码时,我遇到了以下错误

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包的解决方案


这回答了你的问题吗?我试图找到一种方法,如何使用readxl软件包中的read_xlsx函数来实现这一点。我担心readxl软件包可能实现这一点。使用readxl是否绝对必要?不,实际上我想知道我在代码中犯了什么错误。即使使用读取后选择,我也能完成任务。感谢您的帮助,我无法从它的帮助中获得什么。
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))
library(openxlsx)
read.xlsx("Active List till 7 Feb .xlsx", sheet = "Raw data", cols = c(3,28))