有没有一种简单的方法可以为List中的单词添加空格?

问题描述 投票:1回答:3

好吧,所以这就是我想要做的。我想轻松地将文本从文本文件转换为word文档。我目前有这个......

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):
    row = line.split(' ')
    fileContents += list(row)

#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.")

在读取文本文件中的文本的同时,每个单词都被添加到列表中。然后所有单词都被添加到Document但问题是所有单词一起运行并且没有任何空格。

下面是文本的示例......

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

所以我想知道这是最好的方法吗?有更简单的方法吗?任何帮助将非常感激。先感谢您!!!

python python-3.x python-docx
3个回答
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'恢复换行符。

© www.soinside.com 2019 - 2024. All rights reserved.