2017-04-14 9 views
0

私は、R言語とreporteRを使用してプレーンテキストファイルから書式設定された単語書類を生成するスクリプトを作成しようとしています。追加、R言語/ reporteRs複数の書類を書くためのループ

doc <- docx(template="temp.docx") 

次:次にこれをDOCXする抽出されたテキストを追加

fileName <- "C:/MyFolder/TEXT_TO_BE_PROCESSED.txt" 
con <- file(fileName,open="r") 
line <- readLines(con) 
close(con) 

:私はこのスレッドDealing with readLines() function in Rで見つかったこのコードを使用しています1つのTXTからテキストを抽出する

タイトル(txtファイルの最初の行)

doc <- addParagraph(doc, value = line[1], bookmark = "titre", stylename = "Titre") 

次に、txtファイルの本体

doc <- addParagraph(doc, value = line[2:length(line)], value = line[2:55], stylename = "Contenu") 

最後に、私は私が複数のTXTファイルから複数のdocxファイルを生成することができるようにループを作成することができるようにしたいのdocx

writeDoc(doc, file = "output-file.docx") 

を作成します。私はあなたがlapply

myFiles <- c("C:/MyFolder/TEXT_TO_BE_PROCESSED.txt", "C:/MyFolder/TEXT_TO_BE_PROCESSED2.txt") # or use list.files() 

lapply(myFiles, function(fileName){ 
    con <- file(fileName,open="r") 
    line <- readLines(con) # you could just call readLines(fileName) 
    close(con) 
    doc <- docx(template="temp.docx") 
    doc <- addParagraph(doc, value = line[1], bookmark = "titre", stylename = "Titre") 
    doc <- addParagraph(doc, value = line[2:length(line)], value = line[2:55], stylename = "Contenu") 
    writeDoc(doc, file = paste0(fileName, "out.docx")) 
}) 
+0

'ライン[2ありがとうございます)] 'は、2行目から最後まですべてを抽出します。ループを動作させるには、ファイル名のベクトルに 'lapply'のようなものを使う必要があります。 –

+0

返事ありがとうございました。リチャード、私は最後にtxtを抜き出してコードを編集しました。私は 'lapply'の使い方を知りませんが、ドキュメントを見てみるつもりです。あなたが知っていれば助けてくれますか? –

+0

ヘルプが必要です! –

答えて

0

あなたの助けを本当に感謝します:長さ(ライン:

myFiles <- list.files() 

lapply(myFiles, function(fileName){ 
line <- readLines(fileName) 
doc <- docx(template="temp.docx") 
doc <- addParagraph(doc, value = line[1], bookmark = "titre", 
stylename = "Titre ») 
doc <- addParagraph(doc, value = line[2:length(line)], stylename = "Contenu") 
writeDoc(doc, file = paste0(fileName, ".docx")) 
}) 

が再びリチャード

+0

これはチャームとして機能しています!大変ありがとうございます。 –

+0

writeDoc行の最後に ")"が欠けていました。今私の投稿を編集する必要がありますか? –

0

とソリューションをこのような何かを行うことができます

関連する問題