Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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
openxlsx包,read.xlsx check.names=false仍放置一个。列名_R_Excel_Openxlsx - Fatal编程技术网

openxlsx包,read.xlsx check.names=false仍放置一个。列名

openxlsx包,read.xlsx check.names=false仍放置一个。列名,r,excel,openxlsx,R,Excel,Openxlsx,通常我使用Tidyverse通过read_excel命令读取excel文件,但是我遇到了可怕的“未知或未初始化列”错误,该错误指向不存在的列,然后通过工作流警告不存在的列 所以我决定使用openxlsx来读取excel文件。一切都进行得很顺利,直到我意识到openxlsx认为带有空格的列名在语法上不正确,它增加了一个错误。替换空白。所以“客户名称”变成了“Customer.Name” 我尝试使用check.names=FALSE命令使标题保持不变,但是包似乎忽略了这个命令 许多标题可能在单词之间

通常我使用Tidyverse通过read_excel命令读取excel文件,但是我遇到了可怕的“未知或未初始化列”错误,该错误指向不存在的列,然后通过工作流警告不存在的列

所以我决定使用openxlsx来读取excel文件。一切都进行得很顺利,直到我意识到openxlsx认为带有空格的列名在语法上不正确,它增加了一个错误。替换空白。所以“客户名称”变成了“Customer.Name”

我尝试使用check.names=FALSE命令使标题保持不变,但是包似乎忽略了这个命令

许多标题可能在单词之间有多个空格,格式必须保持不变。我不能使用依赖Java的excel软件包,因为我们公司已经阻止了它

如何强制openxlsx不使用标题


我正在使用的代码示例如下:
IMACS这一切都归功于@Matt

一起使用readxl和read_excel是一种享受

IMACS <- readxl::read_excel("//zfsstdscun001a.rz.com/UKGI_Pricing/Bus_Insights/R_Scripts/CAT Risks/IMACSV2.xlsx",
                            sheet = "IMACS")

IMACS这一切都归功于@Matt

一起使用readxl和read_excel是一种享受

IMACS <- readxl::read_excel("//zfsstdscun001a.rz.com/UKGI_Pricing/Bus_Insights/R_Scripts/CAT Risks/IMACSV2.xlsx",
                            sheet = "IMACS")

IMACS试试
sep.names=“”
,默认设置为
你好,马特,谢谢你的提示。它确实消除了这个问题。所有只在单词之间使用一个空格的标题现在都是正确的。但是那些有多个空间格式的文件现在只是一个空间。这是一个糟糕的命名约定,我一直在努力反对维护它,但他们有其他为旧文件的确切结构设置的进程,所以我必须维护它。为什么不使用
readxl::read\u xlsx
?现在这似乎很有魅力,但我不确定它是如何工作的。它像tidyverse read_xlsx命令一样读取它,所以我不必再担心sep.names了。在dplyr中给出不存在列的问题的一个文件现在也可以正常工作。在intererest之外,命令到底在那里做什么?**在这里找到答案:*谢谢你的帮助,马特@Matt你能把你的答案贴出来吗?这样我就可以把它标记为正确的?试试
sep.names=“
”,因为默认值是
嗨,Matt,谢谢你的提示。它确实消除了这个问题。所有只在单词之间使用一个空格的标题现在都是正确的。但是那些有多个空间格式的文件现在只是一个空间。这是一个糟糕的命名约定,我一直在努力反对维护它,但他们有其他为旧文件的确切结构设置的进程,所以我必须维护它。为什么不使用
readxl::read\u xlsx
?现在这似乎很有魅力,但我不确定它是如何工作的。它像tidyverse read_xlsx命令一样读取它,所以我不必再担心sep.names了。在dplyr中给出不存在列的问题的一个文件现在也可以正常工作。在intererest之外,命令到底在那里做什么?**在这里找到答案:*谢谢你的帮助,马特@马特,你能把你的答案贴出来吗,这样我就可以把它标记为正确的?