2017-12-28 3 views
1

申し訳ありませんが、ここに私がしようとしていることがあります。テキストをテキストファイルからワード文書に簡単に変換したい。私は現在これを持っています...List内の単語にスペースを追加する簡単な方法はありますか?

ここで、テキストファイルのテキストが読み込まれ、各単語がリストに追加されます。その後、すべての単語がDocumentに追加されますが、問題はすべての単語が一緒に実行され、スペースがありません。以下は

は、テキストが...

GetreadytoentertheThrivetimeshowontalk.Radio1170broadcastinglivefromthecenteroftheuniverse.It'SbusinessschoolwithouttheBSfeaturingoptometristturnedentrepreneur.Dr.RobertzoellnerwithusSBA,entrepreneuroftheYearclayClark.Dowehavecominginfromoneofourlistenersthattheyasked?Howcanyoucontrolemployeesthatyoucannotfire?HowcanyoucontrolemployeesthatyoucannotfirewellSteve?Couldyouthrowoutsomeinstanceswherethatcouldbeathingwhereyoucouldn'tfiretosuchasuper? 

ように見えるので、私が知りたいことは、これはこれを行うための最善の方法であるものの一例ですか?もっと簡単な方法はありますか?どんな助けでも大歓迎です。前もって感謝します!!!次のように追加する段落の一部を変更する必要があるので、

+0

デリミタや簡単な正規表現がないため、文の中にどのような単語があるのか​​把握するのは簡単ではありません。それで、言葉を作るためにスペースをどこに置くべきかわからないということです。 – arkdevelopment

+3

私が正しく理解していれば、元のテキストファイルには空白があり、あなたのプログラムはそれを削除しています。それで...なぜ?とにかく、ファイル全体が必要な場合、スペースで分割しているのはなぜですか? –

+0

@SilvioMayolo良い点。それは別のプロジェクトのコードブロックだったので、リスト内の言葉を取得するのが最善の方法でした。その代わりに何をお勧めしますか? – EliC

答えて

5

なぜあなたはいくつかの単語に行を分割しましたか? すべてをコピーしたい場合は、行を分割する代わりに、行と一緒に移動する必要があります(スペースと改行をコピーします)。 だからあなたのコードは次のようになります。ところでコメント

from docx import Document 

text_file = "pathToYourTextFile.txt" 

#opens document to add text to 
document = Document() 

#adds the entire contents to a list that we will 
#then use to add to the document we just created 
fileContents = [] 
for line in open(text_file): 
    fileContents += line 

#adds all the text we just created to the document as a paragraph 
paragraph = document.add_paragraph(fileContents) 

#saves the document with all the under the name we give it 
document.save('test.docx') 
print("Document saved.") 

ナイス!

ハッピーコーディング!

2

あなたは、" ".join(fileContents)を使用することができます:あなたは、スペースで分割している理由

fileContents = [] 
for line in open(text_file): 
    row = line.split(' ') 
    fileContents += list(row) 

#adds all the text we just created to the document as a paragraph 
paragraph = document.add_paragraph(" ".join(fileContents)) 
2

それは全く明らかではありません。 row = line.split(' ')を削除して、それに続く行をfileContents += lineにすると、あなたが望むものが得られますか?また、改行を復元するには、先ほどのfileContents += '\n'に従ってください。

関連する問題