Pythonスクリプトをexe化すると、PythonがインストールされていないPCでも作ったPythonのプログラムを利用することができます。しかし、スクリプトで外部のファイルを参照している場合、特に注意が必要です。

CSVファイルの読み込み

PythonでCSVファイルを読み込む基本的な方法は、csv.reader()を使用することです。しかし、exe化した場合、ファイルパスの指定方法が変わります。

import csv
import sys
import os

if getattr(sys, 'frozen', False):  # 実行ファイルからの実行時
    script_dir = sys._MEIPASS
else:  # スクリプトからの実行時
    script_dir = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(script_dir, "sample.csv")

with open(file_path, "r") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

このコードでは、sys._MEIPASSを使用して、exe化した際の一時フォルダを指定しています。

PyInstallerのオプション

PyInstallerでexe化する際には、いくつかのオプションを指定することができます。

  • --onefile: ファイルを一つにまとめる。
  • --noconsole: 実行時にコンソールを表示させない。
  • --add-data: 参照するファイルを実行ファイルに同梱する。

例えば、以下のように指定します。

pyinstaller --onefile --add-data "sample.csv;." main.py

このコマンドは、main.pyをexe化し、sample.csvを同梱することを指定しています。

以上が、Pythonスクリプトをexe化し、CSVファイルを読み込む基本的な方法です。これにより、PythonがインストールされていないPCでも、CSVファイルを読み込むPythonプログラムを実行することが可能になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です