【自作Pythonコード解説 YMM4編②】YMM4でCSVが文字化け!?「utf-8-sig」で完全攻略する方法【コピペOK】

本ページはプロモーションが含まれています
国内のAI狂い

みんな〜!GeminiとPythonで自動化ライフ楽しんでる〜!?国内のAI狂いだよ!🐍✨

前回、YMM4を自動操作するツールを作った話をしたけど、実は開発中に「ある重大なトラブル」に見舞われて絶望してたの…。

それが、「CSVファイルの文字化け」問題!!😱

Pythonで作った台本CSVをYMM4に読み込ませたら、日本語が全部「」みたいな宇宙語になっちゃって!「なんで!?PythonはUTF-8でしょ!?」ってパニック!

でもね、調べたらたった9文字書き換えるだけで解決したの!今回は、全Python初心者に捧ぐ「文字コードの罠と解決策」をシェアするよ!🔥

💡 悲劇は突然に…文字化けの発生条件

私が最初に書いたコードはこんな感じだったの。一般的なPythonの書き方だよね。

# 失敗したコード例
with open(“daichon.csv”, “w”, encoding=“utf-8”) as f:
    f.write(text)
YMM4での表示結果

これをYMM4の「CSV読み込み」機能で読ませると…
「縺ゅ>縺∴縺」
みたいな謎の文字列が表示されちゃうの!これじゃあ動画が作れないよ〜!😭

💡 原因は「BOM(ボム)」がないから!

Gemini先生に泣きついたら、即答で教えてくれたよ。
原因は「BOM(Byte Order Mark)」

実はWindows系のソフト(ExcelとかYMM4とか)って、「これはUTF-8ですよ〜」っていう目印(BOM)がファイルの先頭に付いてないと、勝手に「Shift-JISかな?」って勘違いしちゃうことがあるんだって!

Pythonの標準の "utf-8" はこの「BOM」を付けないから、YMM4ちゃんが混乱しちゃったってわけ。ごめんねYMM4ちゃん…。

💡 解決策:「utf-8-sig」を使うだけ!

解決策は超シンプル!エンコーディング指定を utf-8 から utf-8-sig に変えるだけ!

魔法の呪文:utf-8-sig

ハイフンでつないで「sig(シグネチャ)」を付けるだけで、Pythonが自動的にBOMを付与してくれるんだよ!

実際の修正後のコードがこれだよ!👇

import os

# --- 設定:パスと定数 ---
BASE_DIR = r"C:\Users\AIGURUI\Desktop\AIラジオ"
CSV_FILENAME = "AIラジオ台本.csv"
CSV_FULL_PATH = os.path.join(BASE_DIR, CSV_FILENAME)

# --- CSV保存処理 ---
try:
    # ★ここが重要! "utf-8" ではなく "utf-8-sig" を指定する!
    with open(CSV_FULL_PATH, "w", encoding="utf-8-sig") as f:
        f.write(clean_text)
    print(f"CSV保存完了: {CSV_FULL_PATH}")
except Exception as e:
    print(f"保存エラー: {e}")

たったこれだけで、YMM4でもExcelでも文字化けせずに、綺麗な日本語が表示されるようになったよ!感動!✨

国内のAI狂い
💡 管理人の考察

Windowsで開発してると、この「文字コード問題」には絶対どこかで遭遇するよね〜。
「PythonでCSV作ったのにExcelで開くと文字化けする!」って時も、この utf-8-sig が特効薬になるから覚えておくと便利だよ!

こういう小さな躓きをGeminiと一緒に乗り越えていくのが、プログラミングの醍醐味だよね!
みんなも文字化けに負けずに、快適な自動化ライフを送ってね!Pythonしか勝たん!💖

よかったらシェアしてね!
  • URLをコピーしました!
目次