来年度、看護学校の講師をやるように要請されました。
私は来年 70 歳なのですが、こんな年寄りでいいんでしょうか?
ただし、依頼されたからにはそれなりのことをしたいと思っています。
看護師国家試験の過去の問題集
私も 45 年ほど前に医師国家試験を受けましたが、その際には過去の問題集を解きました。
過去の問題集(過去問)を解くのはとても大切です。
看護師国家試験問題に関しては厚労省のHPに pdf で公開されておりダウンロードすることができます。
しかし pdf では柔軟性がなく、問題を解いたり答え合わせをするのはとても面倒です。
そこで、pdf からデータベースを作成しようと考えました。
そしてアプリを作成すれば、問題を解いて答えあわせるすることがとても簡単になります。
python を使って pdf からテキストを抽出
python は何でもできる言語で、今回も python を使えば pdf からテキストを抽出できると考えていました。
昨年度の看護師国家試験問題を用意します。

pdf からテキストを抽出する方法はいくつかあるようですが、3つほど試してみて PyMuPDFが最もいい感じでした。
pip install PyMuPDF
import fitz
def extract_text_from_pdf(pdf_path):
doc = fitz.open(pdf_path)
text = ""
for page in doc:
text += page.get_text()
return text
# PDFファイルのパスを指定してテキストを抽出
pdf_path = "./2023_1.pdf"
extracted_text = extract_text_from_pdf(pdf_path)
print(extracted_text)
結果は、
1
令和�年�2020 年�の人口動態統計における妻の平均初婚年齢はどれか。
1.19.4 歳
2.24.4 歳
3.29.4 歳
4.34.4 歳
2
令和元年�2019 年�の国民生活基礎調査における女性の有訴者の自覚症状で最も
多いのはどれか。
1.頭
痛
2.肩こり
3.体がだるい
4.目のかすみ
3
喫煙指数�Brinkman�ブリンクマン�指数�を算出するために、喫煙年数のほかに
必要なのはどれか。
1.喫煙開始年齢
2.受動喫煙年数
3.家庭内の喫煙者数
4.�日の平均喫煙本数
4
休憩時間を除いた�週間の労働時間で、超えてはならないと労働基準法で定めら
れているのはどれか。
1.30 時間
2.35 時間
3.40 時間
4.45 時間
DKIX-05-前H-7
1
いい感じと思ったものの、文字化けがあります。
もう少し詳しく調べてみると、例えば以下の部分。

この部分をコピーしてテキストエディタに貼り付けると、

カッコも文字化けしていますが、1日の平均喫煙本数の「1」も認識できていません。
最初は絵を埋め込んだのかと思いましたが、どうもそうではないようで、おそらくコピペすると文字化けするように意図的に設定したのだと思います。
なぜこういうことをするのかが理解できません。
さてどうしましょう?