簡體   English   中英

Python中如何將.docx轉.txt

[英]How to convert .docx to .txt in Python

我想將一大批 MS Word 文件轉換為純文本格式。 Python不知道怎么做,網上找了如下代碼。 我的路徑是本地路徑,所有文件名都像 cx-xxx(即 c1-000、c1-001、c2-000、c2-001 等):

from docx import [name of file]
import io
import shutil
import os

def convertDocxToText(path):
for d in os.listdir(path):
    fileExtension=d.split(".")[-1]
    if fileExtension =="docx":
        docxFilename = path + d
        print(docxFilename)
        document = Document(docxFilename)
        textFilename = path + d.split(".")[0] + ".txt"
        with io.open(textFilename,"c", encoding="utf-8") as textFile:
            for para in document.paragraphs: 
                textFile.write(unicode(para.text))

path= "/home/python/resumes/"
convertDocxToText(path)

使用 pypandoc 將 docx 轉換為 txt:

import pypandoc

# Example file:
docxFilename = 'somefile.docx'
output = pypandoc.convert_file(docxFilename, 'plain', outputfile="somefile.txt")
assert output == ""

在此處查看官方文檔:

https://pypi.org/project/pypandoc/

您還可以使用 Python 中的庫 docx2txt。這是一個示例:

我使用 glob 遍歷文件夾中的所有 DOCX 文件。 注意:我對原始名稱使用了一些列表理解,以便在 TXT 文件名中重新使用它。

如果有任何我忘記解釋的地方,請標記我,我會對其進行編輯。

import docx2txt
import glob

directory = glob.glob('C:/folder_name/*.docx')

for file_name in directory:

    with open(file_name, 'rb') as infile:
        outfile = open(file_name[:-5]+'.txt', 'w', encoding='utf-8')
        doc = docx2txt.process(infile)

        outfile.write(doc)

    outfile.close()
    infile.close()

print("=========")
print("All done!")`

GroupDocs.Conversion Cloud SDK for Python支持 50+ 文件格式轉換。 它的免費計划每月提供 150 次免費 API 通話。

# Import module
import groupdocs_conversion_cloud
from shutil import copyfile

# Get your client_id and client_key at https://dashboard.groupdocs.cloud (free registration is required).
client_id = "xxxxx-xxxx-xxxx-xxxx-xxxxxxxx"
client_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Create instance of the API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_key)

try:

        #Convert DOCX to txt
        # Prepare request
        request = groupdocs_conversion_cloud.ConvertDocumentDirectRequest("txt", "C:/Temp/sample.docx")

        # Convert
        result = convert_api.convert_document_direct(request)       
        copyfile(result, 'C:/Temp/sample.txt')
        
except groupdocs_conversion_cloud.ApiException as e:
        print("Exception when calling get_supported_conversion_types: {0}".format(e.message))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM