将 data.frame 转换为 MediaWiki table

Convert a data.frame into a MediaWiki table

我知道 xtableprint.xtable 函数可以将 data.frame 转换为 html 或乳胶代码。有没有办法将其转换为 MediaWiki table?

我会使用 knitr 的 kable 函数来创建降价表示,然后对 pandoc 进行系统调用以创建 MediaWiki table:

library("knitr")
cat(kable(mtcars), file = "mtcars.md", sep = "\n")
system("pandoc -t mediawiki -o mtcars.txt mtcars.md")

mtcars.md 文件如下所示:

|                    |  mpg| cyl|  disp|  hp| drat|    wt|  qsec| vs| am| gear| carb|
|:-------------------|----:|---:|-----:|---:|----:|-----:|-----:|--:|--:|----:|----:|
|Mazda RX4           | 21.0|   6| 160.0| 110| 3.90| 2.620| 16.46|  0|  1|    4|    4|
|Mazda RX4 Wag       | 21.0|   6| 160.0| 110| 3.90| 2.875| 17.02|  0|  1|    4|    4|
|Datsun 710          | 22.8|   4| 108.0|  93| 3.85| 2.320| 18.61|  1|  1|    4|    1|
|Hornet 4 Drive      | 21.4|   6| 258.0| 110| 3.08| 3.215| 19.44|  1|  0|    3|    1|
|Hornet Sportabout   | 18.7|   8| 360.0| 175| 3.15| 3.440| 17.02|  0|  0|    3|    2|
|Valiant             | 18.1|   6| 225.0| 105| 2.76| 3.460| 20.22|  1|  0|    3|    1|
|Duster 360          | 14.3|   8| 360.0| 245| 3.21| 3.570| 15.84|  0|  0|    3|    4|
...

pandoc 会将其转换为 MediaWiki 表示形式:

{|
!
!align="right"|mpg
!align="right"|cyl
!align="right"|disp
!align="right"|hp
!align="right"|drat
!align="right"|wt
!align="right"|qsec
!align="right"|vs
!align="right"|am
!align="right"|gear
!align="right"|carb
|-
|Mazda RX4
|align="right"|21.0
|align="right"|6
|align="right"|160.0
|align="right"|110
|align="right"|3.90
|align="right"|2.620
|align="right"|16.46
|align="right"|0
|align="right"|1
|align="right"|4
|align="right"|4
|-
...

通过 MediaWiki 运行 后的结果看起来是正确的: