上の「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')
最終効果:
--- - --- --- --- - --- 終わり --- - --- - --- --- - -
以前の素晴らしい記事の推奨事項:
Pycharmをインストールした後にCドライブに大きなファイルを生成する問題を解決します
記事では、Djangoを使用して既存のデータベースからモデルを逆生成する方法を説明しています
Djangoを使用してMysqlに接続する方法を教えてください
ようこそ誰もが好きに、メッセージを残して、前方、転載をあなたの会社やサポートをありがとうございました
Python学習グループに参加したい場合は、バックグラウンドで返信してください[グループに参加]
何千もの川や山がいつも恋をしています。[見る]をクリックしてください。
/本日のメッセージトピック/
一言か二言言ってください~~