PythonはWordの読み書きの変更操作を実装している
docxモジュールでWordを読む
docxのインストール
cmdで、次のように入力します。
org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxParsingException: Illegal processing
instruction target ("xml"); xml (case insensitive) is reserved by the specs.
at [row,col {unknown-source}]: [1,150411]
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at cn.golaxy.yqpt.client.stub.BoardServiceStub.fromOM(BoardServiceStub.java:22704)
at cn.golaxy.yqpt.client.stub.BoardServiceStub.getDocList
(BoardServiceStub.java:222)
at cn.golaxy.yqpt.client.thread.GatherThread.run (GatherThread.java:75)
Caused by: org.apache.axiom.om.impl.exception.OMStreamingException:
com.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml
(case insensitive) is reserved by the specs.
をインストールします。
[ERROR] Invalid white space character (0xc) in text to output
AxisFault: Invalid white space character (0xc) in text to output
Caused by: com.ctc.wstx.exc.WstxIOException: Invalid white space character (0xc) in text
to output
モジュール
docx共通機能
白紙文書の作成
from docx import Document
document = Document()
document.save("word.docx") # Generate blank word
print(document)
ドキュメントを読む
from docx import Document
document = Document("word.docx") # read existing word to create a document object
文書の段落を取得する
from docx import Document
document = Document("word.docx") # read the existing word to create a document object
all_paragraphs = document.paragraphs
print(type(all_paragraphs))
for paragraph in all_paragraphs:
# print(paragraph.paragraph_format) # print out the style name of each paragraph in the word
# print the text of each paragraph
print(paragraph.text)
# Loop through the run contents of each paragraph
# A run object is a continuation of the same style of text
for paragraph in all_paragraphs:
for run in paragraph.runs:
print(run.text) # Print the contents of run
ワードアジャストスタイル
from docx import Document
from docx.shared import Pt, RGBColor
document = Document() # read the existing word to create a document object
# two, write the content
# paragraph
p1 = document.add_paragraph("Early to bed and early to rise!!! ")
format_p1 = p1.paragraph_format
# indent left and right
format_p1.left_indent = Pt(20)
format_p1.right_indent = Pt(20)
# First line indent
format_p1.first_line_indent = Pt(20)
# Line spacing
format_p1.line_spacing = 1
# Append
# A run object is a continuation of the same style of text
run = p1.add_run("I want to do dog licking too \n")
# font, font size, text color
run.font.size = Pt(12)
run.font.name = "Microsoft elegant black"
run.font.color.rgb = RGBColor(235, 123, 10)
run1 = p1.add_run("Jia someone does not study")
# bold, underline, italic
run1.bold = True
run1.font.underline = True
run1.font.italic = True
# Three, save the file
document.save("word.docx")
all_paragraphs = document.paragraphs
# print(type(all_paragraphs))
# <class 'list'>, print and find it is a list
# If it's a list, start a loop to read d
for paragraph in all_paragraphs:
# print(paragraph.paragraph_format) # print out the name of the style of each paragraph in the word
# print the text of each paragraph
print(paragraph.text)
# Loop through the run content of each paragraph
# for run in paragraph.runs:
# print(run.text) # Print the contents of run
ワード書き込み操作
from docx import Document
from docx.shared import Pt, RGBColor
document = Document() # read the existing word to create a document object
# two, write the content
document.add_heading("python operation Word")
# paragraph
p1 = document.add_paragraph("Early to bed, early to rise!!! ")
p1.insert_paragraph_before("Power!!! ")
format_p1 = p1.paragraph_format
# Indent left and right
format_p1.left_indent = Pt(20)
format_p1.right_indent = Pt(20)
# First line indent
format_p1.first_line_indent = Pt(20)
# Line spacing
format_p1.line_spacing = 1
# Append
# A run object is a continuation of the same style of text
run = p1.add_run("I want to do dog licking too \n")
# font, font size, text color
run.font.size = Pt(12)
run.font.name = "Microsoft elegant black"
run.font.color.rgb = RGBColor(235, 123, 10)
run1 = p1.add_run("Jia someone does not study")
# bold, underline, italic
run1.bold = True
run1.font.underline = True
run1.font.italic = True
# Three, save the file
document.save("word.docx")
all_paragraphs = document.paragraphs
# print(type(all_paragraphs))
# <class 'list'>, print and find it is a list
# If it's a list, start a loop to read d
for paragraph in all_paragraphs:
# print(paragraph.paragraph_format) # print out the name of the style of each paragraph in the word
# print the text of each paragraph
print(paragraph.text)
# Loop through the run content of each paragraph
# for run in paragraph.runs:
# print(run.text) # Print the contents of run
Wordの読み書きの変更操作をPythonで実装してみたという記事は以上です。Python関連のコンテンツは、Script Houseの過去記事を検索するか、以下の関連記事を引き続きご覧ください。
関連
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】+のオペランド型が未サポート:'float'と'str'エラー【終了しました
-
[解決済み] なぜPyQtは情報なしでクラッシュするのですか?(終了コード 0xC0000409)
-
[解決済み] 変数ret_valの使用はいつがよいのでしょうか?
-
[解決済み] PIPインストールで、libffiは認識されるのに、ffi.hが見つからない。
-
[解決済み] UnicodeDecodeError: 'charmap' コーデックは位置 XXX のバイト 0x8f をデコードできません: char
-
[解決済み] Pycharm エラー Django はこの環境ではインポートできません。
-
[解決済み] Pythonで文字列から数字を抽出する方法とは?
-
pipのインストールエラーです。ImportError: pkg_resources' という名前のモジュールがありません。
-
ノード名やサービス名が提供されていない、あるいは不明である。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Numpyのstd計算。TypeError: cannot perform reduce with flexible type.
-
[解決済み] TypeError: イテレート可能なものしか割り当てられない - 値はリストへ
-
[解決済み] SystemExit: ipython内でparse_args()を呼び出すと2エラーが発生する
-
[解決済み] Djangoです。CSRF トークンがないか、間違っている
-
[解決済み] TensorFlowでNumpyのwhere indexを実装する方法とは?
-
[解決済み] spyder - メモリから変数と一緒に変数エクスプローラをクリアします。
-
[解決済み] Django URL TypeError: include() の場合、ビューは callable か list/tuple でなけれ ばなりません。
-
[解決済み] Pythonスクリプトの出力ウィンドウを開いたままにするには?
-
Python3 ランタイムエラー TypeError: bytes 型のオブジェクトは JSON シリアライズ可能ではありません。