GO-AHEADの日記

GO-AHEADで出版した書籍の紹介をします

PythonでWordプログラミング入門-8

PythonでWordプログラミング入門

amazon kindleを出版しました。


2.6 文字を取り扱う-4

 Hello Worldという文字列の大文字と小文字を逆にhELLO wORLDしてみましょう。また、
・全ての文字を小文字
・全ての文字を大文字
・先頭の文字だけを大文字にする
 という文字列にして、Wordで表示させてみましょう。

 

(2)python-docxのプログラム

 

#python-docxをインポートします。
import docx

#Word文書の読み込み
Wd1=docx.Document("G:\word\Word1.docx")

#1段落目を読み込み
dan1=Wd1.paragraphs[0]
dan1st=dan1.text #1段落目の文字

st=dan1st+'\n'

st+=dan1st.swapcase()+'\n'#大文字と小文字を入れ替え

st+=dan1st.lower()+'\n'#全て小文字

st+=dan1st.upper()+'\n'#全て大文字

st+=dan1st.capitalize()+'\n'#先頭だけ大文字
print(st)

dan1.text=st #1段落目の文字に書き換え

#Word文書の書き込み
Wd1.save("G:\word\Word1.docx")

pyhton Shellでの表示です。

f:id:GO-AHEAD:20201204095221p:plain

Wordでも表示されます。

f:id:GO-AHEAD:20201204095235p:plain

 

この改行をみると、+'\n'では、改行となり、段落になっていません。そこで、段落にするには、次のようにプログラムを修正します。
 段落にするにはadd_paragraph()を用います。

#python-docxをインポートします。
import docx

#Word文書の読み込み
Wd1=docx.Document("G:\word\Word1.docx")

#1段落目を読み込み
dan1=Wd1.paragraphs[0]
dan1st=dan1.text #1段落目の文字

Wd1.add_paragraph(dan1st.swapcase())#大文字と小文字を入れ替え段落追加

Wd1.add_paragraph(dan1st.lower())#全て小文字段落追加

Wd1.add_paragraph(dan1st.upper())#全て大文字段落追加

Wd1.add_paragraph(dan1st.capitalize())#先頭だけ大文字段落追加

#Word文書の書き込み
Wd1.save("G:\word\Word1.docx")

そうすると、このように各行が段落となっています。

f:id:GO-AHEAD:20201204095255p:plain