Rで解析:ワードのテーブルをデータに変換「docxtractr」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

doxc形式のワードファイルに記述されている表を「リスト形式で読み込む」パッケージの紹介です。Rではパッケージを利用しエクセルを簡単にデータフレームに読み込めましたが、ワードの表をデータにするのは画期的かと思います。

ワードのみデータがあって困っている方は多いかと思います。エクセル等で再入力していた方にオススメのパッケージです。読み込み後のデータはXLConnectやWriteXLSなどのパッケージで出力することでエクセルで再活用できます。

パッケージのバージョンは0.6.5。実行コマンドはwindows 11のR version 4.1.2で確認しています。


スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("docxtractr")

ワードファイルの表の例

docxtractrtable

実行コマンド

詳細はコマンド、パッケージヘルプを確認してください。

#GUIでワードファイルを読み込む
#tcltkパッケージの読み込み
library("tcltk")
ReadDocs <- read_docx(as.character(tkgetOpenFile(title = "&#12527;&#12540;&#12489;&#12501;&#12449;&#12452;&#12523;&#12434;&#36984;&#25246;",
                                                    filetypes = '{"&#12527;&#12540;&#12489;&#12501;&#12449;&#12452;&#12523;" {".docx"}}',
                                                    initialfile = c("*.docx"))))

#&#12527;&#12540;&#12489;&#25991;&#26360;&#20869;&#12398;&#12486;&#12540;&#12502;&#12523;&#25968;&#12434;&#34920;&#31034;:docx_tbl_count&#12467;&#12510;&#12531;&#12489;
docx_tbl_count(ReadDocs)
[1] 2

#&#12527;&#12540;&#12489;&#25991;&#26360;&#20869;&#12398;&#12486;&#12540;&#12502;&#12523;&#24773;&#22577;:docx_describe_tbls&#12467;&#12510;&#12531;&#12489;
docx_describe_tbls(ReadDocs)
Word document [&#12527;&#12540;&#12489;&#12501;&#12449;&#12452;&#12523;&#20445;&#31649;&#22580;&#25152;/&#12390;&#12377;&#12392;&#12391;&#12377;.docx]

Table 1
total cells: 20
row count  : 4
uniform    : likely!
  has header : likely! => possibly [&#12390;&#12377;&#12392;, &#12486;&#12473;&#12488;, DATA1, DATA2, DATA3]

Table 2
total cells: 30
row count  : 3
uniform    : likely!
  has header : likely! => possibly [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]

#&#12527;&#12540;&#12489;&#25991;&#26360;&#20869;&#12398;&#12486;&#12540;&#12502;&#12523;&#12434;&#12522;&#12473;&#12488;&#12395;&#25277;&#20986;:docx_extract_all&#12467;&#12510;&#12531;&#12489;
Tbls <- docx_extract_all(ReadDocs)
[[1]]
Source: local data frame [3 x 5]

&#12390;&#12377;&#12392; &#12486;&#12473;&#12488; DATA1 DATA2 DATA3
1     &#12354;     &#12450;    &#65297;    &#65300;    &#65303;
2     &#12356;     &#12452;    &#65298;    &#65301;    &#65304;
3     &#12358;     &#12454;    &#65299;    &#65302;    &#65305;

[[2]]
Source: local data frame [2 x 10]

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10
1  1  2  3  4  5  6  7  8  9  10
2 11 12 13 14 15 16 17 18 19  20

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました