2016-09-27 36 views
0

我想讀取docx文件並將文本添加到列表。 現在我需要列表來包含來自docx文件的行。docx到python列表

例如:

的docx文件:

"Hello, my name is blabla, 
I am 30 years old. 
I have two kids." 

結果:

['Hello, my name is blabla', 'I am 30 years old', 'I have two kids'] 

我不能得到它的工作。

使用docx2txt模塊從這裏: github link

只有一個進程的命令,並將其返回所有從的docx文件中的文本。

此外,我想它保留特殊字符,例如":\-\.\,"

回答

2

docx2txt模塊讀取DOCX文件,並將其轉換爲文本格式。

您需要使用splitlines()拆分以上輸出並將其存儲在列表中。

代碼(評論在線):

import docx2txt 

text = docx2txt.process("a.docx") 

#Prints output after converting 
print ("After converting text is ",text) 

content = [] 
for line in text.splitlines(): 
    #This will ignore empty/blank lines. 
    if line != '': 
    #Append to list 
    content.append(line) 

print (content) 

輸出:

C:\Users\dinesh_pundkar\Desktop>python c.py 
After converting text is 
Hello, my name is blabla. 

I am 30 years old. 

I have two kids. 

List is ['Hello, my name is blabla.', 'I am 30 years old. ', 'I have two kids.'] 

C:\Users\dinesh_pundkar\Desktop> 
+1

哇,我花了這麼多時間試圖弄明白。不知道有splitlines()命令..非常感謝! – Kiper

+0

@Kiper - 感謝你也因爲這個問題,我才知道了解docx2txt模塊。 –

+0

我試圖解析PDF文件,接收pdf文本後,我正在使用相同的splitline()方法。由於某種原因,我在每行的結尾都得到了空格。什麼是擺脫它的最好方法?我的列表看起來像['word1','word2','word3']而不是[word1,word2,word3] – Kiper