PythonでUTF-8 BOM付きのファイルを扱う際には、エンコードを ‘utf_8_sig’ と指定します。以下にその使用例を示します。
import io
# ファイルを読み込む例
with io.open(filename, "r", encoding="utf_8_sig") as f:
print(f.readlines())
このコードは、BOM付きのUTF-8ファイルを読み込むためのものです。’utf_8_sig’ を指定することで、PythonはBOMをスキップしてファイルを読み込みます。
また、PythonでBOM付きのUTF-8でCSVファイルを出力する場合も同様に ‘utf_8_sig’ を指定します。以下にその使用例を示します。
import csv
# CSVファイルを出力する例
with open(path, 'w', encoding="utf_8_sig") as f:
writer = csv.writer(f, lineterminator='\n') # 改行コード(\n)を指定しておく
writer.writerow(header)
writer.writerow(output_data)
このコードは、BOM付きのUTF-8でCSVファイルを出力するためのものです。
以上がPythonでUTF-8 BOM付きのファイルを扱う基本的な方法です。これらの情報がPythonのコーディングに役立つことを願っています。