python-docxは「doc形式」ファイルを処理できないので、これを行いました...

上の「Pythonクローラーとデータマイニング」をクリックしてフォローしてください

Books」に返信すると、初心者から上級者まで、合計10冊のPythonの電子書籍を受け取ることができます。

鶏肉

スープ

祖国の東への長い道のり、二袖の龍と中は涙を流した。

問題の紹介

現在の日常業務で最もよく見られるのは、ExcelファイルとWordファイルの処理です。Excelファイルの場合、xls、xlsx、およびxlsmのファイル混在している場合どうすればよいですか?Wordファイルの場合、docとdocxが混在するファイルある場合、その対処方法。

VBAを使用することもできますが、これらのファイルをバッチで操作するには、Pythonを学ぶ必要があります。操作は非常に簡単です。

記事の読みやすさを向上させるために、これらの問題を2つの記事に分けています。今日は、docファイルをdocxファイルに変換する方法について話します。

Huangのオリジナルの「PythonAutomationOffice Documents」を学んだ後、あなたは知っているかもしれません:私たちはしばしばpython-docxを使用してWordファイルを処理します。ただし、python-docxは「.docx」 Wordファイルのみを処理できます。したがって、「。doc」ファイルを「.docx」ファイルにバッチ変換してから、二次処理を実行する必要があります。

最近、女性の同僚から、Wordのコンテンツをバッチ処理するように依頼されましたこのような問題に対処するのはこれが初めてです。この問題を解決するには、次のことしかできません。①ドキュメントファイルをバッチでdocxファイルに変換する;②python-docxライブラリを使用してdocxファイルをバッチで処理する。

ドキュメントファイルをdocxファイルに変換する

python-docxライブラリ、docxファイルの処理方法については、ドキュメントで詳しく説明されています。今日、クラスメートのHuangはこのdocファイルをdocxファイル変換するコードを書くように全員に教えました

1)win32comライブラリをインストールします

説明が必要ですが、以下の方法を使用するとインストールできません。

pip install win32com

次に、次の方法でインストールします。

python -m pip install pypiwin32

2)win32comライブラリの構文の説明

ここにはあまり高度なコードはありませんが、誰もが理解できないことを恐れているコードもあるので、説明します。

# 调用word程序
WordApp = win32com.client.Dispatch("Word.Application")

# 后台运行,不显示,不警告
WordApp.Visible = 0
WordApp.DisplayAlerts = 0

3)完全なコード

ここでは、「プロセス指向」のアプローチを使用してこのコードを記述します。これにより、コードが読みやすくなります。

import os
import time
import win32com
from win32com.client import Dispatch

def doc_to_docx(path):
   w = win32com.client.Dispatch('Word.Application')
   w.Visible = 0
   w.DisplayAlerts = 0
   doc = w.Documents.Open(path)
   # 这里必须要绝对地址,保持和doc路径一致
   newpath = allpath+'\\转换后的文档.docx'
   time.sleep(3) # 暂停3s,否则会出现-2147352567,错误
   doc.SaveAs(newpath,12,False,"",True,"",False,False,False,False)
   # doc.Close() 开启则会删掉原来的doc
   w.Quit()# 退出
   return newpath
allpath = os.getcwd()
print(allpath)
doc_to_docx(allpath+'\\转换前的文档.doc')

最終効果:

--- - --- --- --- - --- 終わり --- - --- - --- --- - -

以前の素晴らしい記事の推奨事項:

ようこそ誰もが好きにメッセージを残して、前方、転載をあなたの会社やサポートをありがとうございました

Python学習グループに参加したい場合は、バックグラウンドで返信してください[グループに参加]

何千もの川や山がいつも恋をしています。[見る]をクリックしください。

/本日のメッセージトピック/

一言か二言言ってください~~

おすすめ

転載: blog.csdn.net/pdcfighting/article/details/113804984