Comma Separated Value の略。
主に表計算ソフト間の互換フォーマットとして用いられる。「カンマでカラムが区切られ、改行で行が区切られる」という漠然としたルールで明確なフォーマットの仕様や標準は存在しなかったが、2005年10月にCSVの仕様について書かれたRFC 4180が公開された。
また、タブ区切りなどもCSVに含める場合がある。これは "Character-Separated Values" の略である。
バージョン管理システムのCVSと間違いやすい。
こんにちは。いーかです。このページは、WindowsでCSV/JSON/TXTなどを扱うときに起きがちな BOM(\ufeff)問題を、症状から最短で解決記事へ飛べるように整理した「シリーズまとめ(ハブ記事)」です。 「列があるのに KeyError」「JSONが読めない」「PowerShellのコマンドが動かない」など、事故ったときに ここに戻ってくればOK、という作りにしています。 ※検索で多い言い方:**「UTF-8 BOM あり/なし」「CSV 列名 KeyError」「JSONDecodeError BOM」「Excel CSV 全部1列」「PowerShell BOM 確認」**に…
こんにちは。いーかです。この記事では、Windows環境でPythonを使ってCSV/JSON/TXTを扱うときに起きがちな文字コード事故を、チェックリスト10個として“再発防止の型”にまとめます。BOM(\ufeff)も当然カバーします。 ⚠️ 最初に注意(ここで詰まる人が多い) PowerShellは バージョン差があります。特に Windows PowerShell 5.1 だと、記事やネットのコマンドがそのまま動かないことがあります。 Get-Content -AsByteStream が 無い Format-Hex の引数(例:-Count)が 環境で違う .ps1 を UTF-8(…
こんにちは。いーかです。この記事では、pandasでCSVを読むときに地味に刺さる BOM(\ufeff)問題を、encoding="utf-8-sig" を中心に、いつ使うべきか/いつ要らないかまで含めて整理します。 結論(1行) Windows由来のCSVで列名ズレ(\ufeff混入)が疑わしいなら、まず pd.read_csv(..., encoding="utf-8-sig")。BOMを“読む側で吸収”できて、最短で安全です。 救急コピペ(まずこれだけで原因が見える) 「列名が変」「KeyError」「BOMっぽい?」と思ったら、まずこれをコピペでOKです。 import pandas…
こんにちは。いーかです。この記事では、Excelで作ったデータをCSVにしてPython(pandas)で読むときに起きがちな「文字化け」「列ズレ」「読めない」を、**3大原因(BOM・改行・区切り文字)**で整理して、最短で切り分ける手順をまとめます。 結論(1行) Excel→CSV→Python事故の多くは「BOM」「改行(CRLF)」「区切り文字(, / ; / タブ)」のどれか。まず“原因の切り分け”をすると、直し方は一気に簡単になります。 救急コピペ(まずこれだけやれば原因が見える) 「とりあえず読みたい」「どこが壊れてるか知りたい」人は、まずこれをコピペでOKです。※BOM対策込…
こんにちは。いーかです。この記事では、Windowsで「このファイル、BOM付いてる?」を PowerShellだけで確実に確認する方法をまとめます。CSV/JSON/TXTなど、UTF-8テキスト全般にそのまま使えます。 ⚠️ 注意:PowerShell 5.1は“環境差”と“.ps1文字化け”がある(最初にここだけ) PowerShellは バージョンによって使える引数や挙動が違うことがあります。実際に私の環境(Windows PowerShell 5.1)では、次の地雷がありました。 Get-Content -AsByteStream が 存在しない Format-Hex の引数(例:-…
こんにちは。いーかです。この記事では、Windowsで起きがちなBOM事故(CSV列名ズレ、JSONキー不一致など)を減らすために、VS Codeでファイルを 「UTF-8(BOMなし)」 に統一して保存する手順を、迷わない形でまとめます。 結論(1行) VS Codeなら、右下の文字コード表示 →「Save with Encoding」→「UTF-8」を選べば、UTF-8(BOMなし)で保存できます。 まず前提:「UTF-8(BOMなし)」にすると何が嬉しい? BOMなしに統一すると、こういう事故が減ります。 pandasで df["id"] が KeyError(実は \ufeffid だ…
あるある!ここは記事としての完成度を上げる“100点パッチ”ポイントだね。結論:各コードブロックを単体コピペしても動くように、必要な import をブロック内に入れるのが正解。 下に「そのまま差し替えできる」形で、**import不足を全部潰した修正版(秘書②)**を置くよ。(※本文の構造はほぼそのまま、コードだけ“コピペ耐性”を上げてある) 【Python】BOM(\ufeff)を削除する方法:UTF-8-SIG / 置換 / 保存し直しの比較 こんにちは。いーかです。この記事では、BOM(\ufeff)が混ざって起きるトラブルを「どう直すか」を、3つの方法で比較します。CSV/JSON/…
こんにちは。いーかです。この記事では、pandasでCSVを読んだときに 「列名が合わない」 「列があるのに KeyError が出る」 みたいなトラブルが出たとき、原因が BOM(\ufeff) だった……という“あるある”を、症状→確認→原因→対処→再発防止まで、迷わない順でまとめます。 ✅注意:本文中の sample.csv は例です。自分で用意したCSVにするか、いま困っているCSVファイル名に置き換えて使ってください。 結論(1行) CSV先頭に UTF-8 BOM(EF BB BF) があると、先頭列名が \ufeffid のようにズレて KeyError の原因になることがありま…
こんにちは。いーかです。この記事では、Windowsメモ帳由来のCSV/JSONが怪しいときに使える「BOM有無の判定」を、Pythonで最短・安全にやる方法をまとめます。 結論(1行) BOM付きUTF-8なら、ファイル先頭3バイトが EF BB BF。Pythonで rb で読んで確認すれば確定できる。 まず結論:BOM判定は「先頭3バイト」だけでOK UTF-8のBOMは固定です。 BOM付きUTF-8 → 先頭3バイトが EF BB BF BOMなし → 先頭にそれが無い Python側では、この EF BB BF をバイト列として b"\xef\xbb\xbf" と書ける(同じ意味)…
こんにちは。いーかです。この記事では、Windowsメモ帳で出てくる「UTF-8(BOM付き)」の意味と、Python/CSV/JSONで事故りやすいポイントを、最短で分かる形にまとめます。 結論(1行) BOMは“このファイルはUTF-8だよ”の目印だけど、PythonやCSV/JSONでは「見えない余計な文字」になって事故ることがある。 まず、こんな症状が出てたらBOMを疑う(最短チェック) CSVの列名が id のはずなのに、実は \ufeffid になっていて一致しない JSONのキーが一致しない(同じはずのキーなのに検索できない) 文字列比較が噛み合わない(先頭に“見えない1文字”が…