見出し画像

Python初心者がChatGPTとGoogle Colaboratoryでコード書いた話


PDFのページ並び替え、面倒くさい。

スキャンでPDFをとるとき
プリンターのスキャン機能では、見開きA3以上の資料のときは片側だけスキャンするしかない。
右ページ左ページ交互にスキャンとるのもちょっと面倒くさい。

結果、
左綴じの資料の場合は
・右(奇数)ページだけのPDF(仮名称A.pdf)
・左(偶数)ページだけのPDF(仮名称B.pdf)が出来上がる。

AdobeAcrobatで 2つのPDFを結合して、ページを整理 ツールで
これを交互に並び替えするのも面倒くさい。

そんなことに時間かけたくない。ゆっくりお菓子食べてたい。(本心)

知識の塊。ChatGPTに聞いてみよう。

どうにかできないかな。と思い、
とりあえずChatGPTに聞いてみたら
Pythonでやるといいわよ。ちなみに、その要望だとこのコードだよ。
なんとコードまで書いてくれる丁寧さ。

Python初心者にもできるのか検証してみようかとなったわけです。

Python、聞いたことあるけどプログラミングなんでしょ?

Pythonって読み方 パイソンで合ってる?ヘビ?
初心者がそんなのできるの?
Pythonってなんかソフト必要なの?

不安になりながらも検索してみたら

Googleが提供している、ブラウザ上でできるPython
Google Colaboratory発見。
https://colab.research.google.com/?hl=ja

わたしの場合、Pythonのソフトをいきなりダウンロードしたところで
今後も使うか怪しいし、試すだけならこれでいいかと思ってGoogle Colaboratoryで挑戦。

直感でなんとかやってみる

Google Colaboratoryを開いて、ポップアップ左下の
「+ノートブックを新規作成」
もうコードが入力できる画面っぽい。
早速ChatGPTから教えてもらったコードの一行を入力してみる。

pip install PyPDF2

PyPDF2っていうのはPDFのあれやこれやができるライブラリ機能らしい。
(まだよくわかってない)
それをインストールしてくださいね。って言ってるコード
コードの左側にある再生ボタン押して、1分もあればインストール完了する。

その後、コードを追加して再生ボタン押す。

import PyPDF2


def merge_pdfs(file1, file2, output_file):
    with open(file1, 'rb') as pdf1, open(file2, 'rb') as pdf2:
        pdf_reader1 = PyPDF2.PdfReader(pdf1)
        pdf_reader2 = PyPDF2.PdfReader(pdf2)

        pdf_writer = PyPDF2.PdfWriter()

        # 2つのPDFを交互に結合
        max_pages = max(len(pdf_reader1.pages), len(pdf_reader2.pages))
        for page_number in range(max_pages):
            if page_number < len(pdf_reader1.pages):
                pdf_writer.add_page(pdf_reader1.pages[page_number])
            if page_number < len(pdf_reader2.pages):
                pdf_writer.add_page(pdf_reader2.pages[page_number])

        # 結合したPDFを新しいファイルに保存
        with open(output_file, 'wb') as output_pdf:
            pdf_writer.write(output_pdf)

if __name__ == "__main__":
    file_A = 'A.pdf'
    file_B = 'B.pdf'
    output_file = 'output.pdf'

    merge_pdfs(file_A, file_B, output_file)

※修正後のコード PyPDF2 ライブラリのバージョン3.0.0以降

エラー発生

コード下にエラーがでてて、意味が分からなかったから
これもChatGPTで聞いてみた。

聞き方はかなり雑で
「意味」のあと、エラー文をコピペ
すると、日本語でちゃんとエラー文の解説とエラー解消方法答えてくれる。

エラーの内容は
・バージョン違いでそのコードの書き方は廃止しちゃってるよ。
 だからここの部分をこう、修正してみて。
・PyPDF2インストールできてないっぽいよ。
・インプットのファイル見つからないよ。
 入れて、ちょっと待ってみて。
などだった。

インプットファイル見つからない場合は
Colaboratoryの画面左上フォルダマークをクリック、
インプット対象ファイルをドラッグアンドドロップ
アップロード状況が完了するまで待つのと、
インプットファイル名をコードと同じようにする。

それに一個一個修正しては
また、Colaboratoryの再生ボタンを押す。
それを繰り返した。

えっ、できた。かなりの時短になる!

トライアンドエラーでエラーが出なくなるまでやったら
Python初心者でも、
コードの意味もわかってないのに
あっけなく
並び替えができた、ほしいPDFができてしまった。

一回作ってしまえば、
同じ状況のPDFがあったときにインプットファイル変えるだけで
同じ作業ができるから時間短縮。

手作業?でやっていた頃の苦労 笑

他にもやってみたい

結構できるものなんだなぁ
ChatGPTちゃん、たまに嘘つくから注意しないといけない部分もあるけど
一回できた経験があるとプログラミングへのハードル下がりそう
もう一個、PDF関係でやってみたいことがあるから同じようにやってみようかな

あとPythonで何ができるのか興味がわいてきた
調べてはまたトライアンドエラー精神でやってみようかな

以上、Python初心者がChatGPTとGoogle Colaboratoryでコード書いた話。
あっけなくできちゃったって話でした。


この記事が気に入ったらサポートをしてみませんか?