如何解决RMarkdown软件包flextable立即失败,显示“ read_docx仅支持docx”
对于一个最低限度的问题,我感到抱歉……没有太多信息,因为它是我第一次尝试使用它时就失败了,而且我对RMarkdown调试还不是很熟练。
我第一次尝试使用flextable(对控制HTML和Word中的表输出感兴趣)。
已安装Flextable并为HTML运行,但完全停止了对Word的任何渲染。当我尝试编织到Word之前,在我完全没有一个新的Word文件之前,它在RMarkdown面板中因错误而停止,为:
Line [first line of R-chunk]: Error: read_docx only support docx files Execution halted
有人以前看过并解决过这个问题吗? There is just one SO question potentially related to this here,但尚未找到答案:(
编辑-我发现了一些东西,但这仍然是一个问题:-p
我想到的另一件事是“自定义” ...我已经有了自己的reference_docx。
当我拿走它以便使用默认的Word模板时...它将运行!!
但是我绝对想要我的风格! flextable不是我唯一可以使用的东西:-D。
有人知道flextable的reference_docx有什么限制吗?
还是我们可能会认为这些限制实际上是针对军官的?
他们可以克服吗?
我不会麻烦转储标题,因为您仍然没有我的文件。但是可以肯定的是,这是Word的最新格式,因为我拥有Office 365,并且如果愿意的话也几乎无法停止Windows Updates。
我将尝试自己打开docx的包装,并检查docx和标准docx的元数据之间是否存在差异,如使用默认值的Knit所示。
编辑/更新2-无法破解文件,并且.....也许没关系
因此,我确实进行了zip转换,将首选的reference_docx设置为文件夹,并将使用“ default”创建的输出docx设置为文件夹。
我检查了beyondCompare,也许最大的不同是我喜欢的尾注中有信息。
我使用的是Zotero,因此实际上是从Word卸载了Zotero,重新保存了,没有任何变化。
我尝试从文档中删除所有尾注并重新保存,没有任何变化。
我尝试编辑原始文件夹以删除“ endnotes.xml”文件,将其重新压缩,然后尝试在Word中打开,然后进行修复,重新保存。 。 。没有变化。
我尝试另外在与“尾注”相关的顶级xml中删除一个条目,并且也重新压缩,打开,修复和重新保存.....没有变化。
因此,我接受了也许我只需要重建首选的参考文档样式,并尝试使用pandoc“默认”中的输出docx重新开始。我确实认为首先要使用它作为reference_docx,以确保其有效。 。 。 。 。 。
它不是 。 :(
我可能不得不和他们一起提高。
同时,我可以查看是否存在用于“默认”的实际doc文件,也许我仍然可以继续进行。
我正在Windows 10上运行RStudio 1.3.1073。
我正在运行的简单代码是:
``` {r}
library(dplyr)
library(flextable)
myDF = mtcars
myDF[1:10,] %>%
flextable()
```
运行sessionInfo()会产生:
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics Grdevices utils datasets methods base
loaded via a namespace (and not attached):
[1] rstudioapi_0.11 knitr_1.29 magrittr_1.5 tidyselect_1.1.0 munsell_0.5.0 colorspace_1.4-1 R6_2.4.1 rlang_0.4.7
[9] dplyr_1.0.2 tools_4.0.2 grid_4.0.2 gtable_0.3.0 xfun_0.16 tinytex_0.25 htmltools_0.5.0 ellipsis_0.3.1
[17] yaml_2.2.1 digest_0.6.25 tibble_3.0.3 lifecycle_0.2.0 Crayon_1.3.4 purrr_0.3.4 ggplot2_3.3.2 vctrs_0.3.2
[25] glue_1.4.1 evaluate_0.14 rmarkdown_2.3 compiler_4.0.2 pillar_1.4.6 generics_0.0.2 scales_1.1.1 pkgconfig_2.0.3
>
只是要确认 ~~~只是要清楚我已经将其隔离到使用flextable()或潜在的magrittr,但这似乎关系不大-这很好:
``` {r }
library(dplyr)
library(flextable)
myDF = datasets::mtcars
myDF[1:10,]
# %>%
# flextable()
```
我已经使用RMarkdown了两周,并且以前已经生成了docx。
如果不使用flextable,我仍然可以生成docx,包括最小的数据转储,只需选择上述10行而不使用flextable。
当我合并flextable时,我们遇到了一个奇怪的问题。
并且只是要额外,更清晰,取出magrittr我仍然会得到相同的行为... HTML可以,Word出现如下错误:
``` {r }
library(dplyr)
library(flextable)
myDF = datasets::mtcars
flextable(myDF[1:10,])
# %>%
# flextable()
```
要回答另一个问题,
是的,我已经尝试过更新所有软件包并检查RStudio更新
解决方法
omg-这是因为我reference_docx的文件路径中有空格(也许还有其他字符)
我还没有检查其他特殊字符,所以可能不是其他字符,但是可以肯定的是空格足以打破它。
我的原始文件路径是(部分删除了相同长度的字母和数字项)
C:\Zzzzz\yyyy\XxxXxxxx\--------1111,1111 aaaaaaa bbbb cccc\ddd e.f. !\_-_ ggggg hhhhh iiii jjjjjjj kkkkk\R source\_outputTemplates\
我试着把它写得很短,也很简单,看看这是否是偶然的问题,因为我还没有尝试过,我一直在想...我们知道这是一个本地问题,所以一定是这样的
所以我跳到了
C:\Zzzzz\yyyy\Qqqqqq\
- 并且有效!
因此,要调试有问题的字符类型,我制作了一个可播放的文件夹,并以空格开头...
C:\Zzzzz\yyyy\Qqqqqq\a folder with spaces\
==>错误!
正在更改为相同长度,但没有空格...
C:\Zzzzz\yyyy\Qqqqqq\aFolderWithNooSpaces\
==>好的:) !!!
我可能会检查其他特殊字符,但是我认为这已经足够了;-)
我相信开发人员可以从这里拿走它。 github说他们跟随标签。
我只是尝试了您的示例,并更改了一两件事。我将在下面发布我的代码。但是,请注意,您所指的软件包不是dbplyr
,而是dplyr
。第一个用于数据库,第二个用于提取,转换和加载。这是代码:
library(dplyr)
library(flextable)
library(datasets)
data(iris)
iris[1:10,] %>%
flextable()
使用该代码,它可以完美地编织到我机器上的单词(.docx
)上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。