Json To Csv LogoJson To Csv

CSVをJSONに変換する方法:確実な3つの手順(2026年版ガイド)

CSVの行をきれいなJSONに変える3つの確実な方法:無料オンラインコンバーター、短いPythonスクリプト、Excel経由の手順。

更新日: 2026-10-027 分で読めます

CSV→JSON変換で実際に起きていること

CSVはフラットな形式です。区切り文字で区切られた値の行が並び、通常は最初の行が列のヘッダーです。JSONは構造化された形式で、名前付きキーを持つオブジェクトが配列にまとめられています。変換では、各データ行が1つのオブジェクトに、各ヘッダーが1つのキーに対応付けられます。

微妙なのはデータ型です。CSVの各セルは技術的にはすべてテキストですが、JSONには本物の数値・真偽値・nullがあります。優れたコンバーターは型を推論します。30は数値に、trueは真偽値に、空セルはnullになります。IDや郵便番号をテキストのままにしておくのは意図的な仕様です。01310が1310になっては困りますから。

方法1:無料のオンラインコンバーター(最速)

一度きりの変換なら、オンラインツールが最速です。インストールもコードも不要。ブラウザ内で処理されるものを選べば、データが端末の外に出ることはありません。

  • CSVを貼り付けるか、.csvファイルをコンバーターにドロップします。
  • 区切り文字を確認します。ほとんどのファイルはカンマ、お使いの表計算ソフトに合わせます。
  • JSONプレビューを確認します。ヘッダーがキーに、各行が1オブジェクトになっていれば、.jsonファイルをダウンロードします。

方法2:Pythonスクリプト(繰り返し可能)

開発者や定期処理には、pandasを使った短いPythonスクリプトが最も再現性の高い方法です。ヘッダー行を自動で読み取り、整形されたJSON配列を書き出します。

Python
import pandas as pd

# The header row becomes the keys automatically
df = pd.read_csv("data.csv")

# orient="records" -> one JSON object per row
# force_ascii=False keeps accents readable (no \uXXXX escapes)
df.to_json("data.json", orient="records", indent=2, force_ascii=False)

python convert.py で実行します。テキストのままにすべき列(ID、先頭ゼロ付きの郵便番号など)がある場合は明示的に指定します:pd.read_csv("data.csv", dtype={"zip": str})。

方法3:Excel・Googleスプレッドシート

正直に言うと、ExcelにもGoogleスプレッドシートにもJSONへの直接保存機能はありません。実用的な手順は2ステップです。

  • 表計算ソフトでデータを整えて、CSV(UTF-8)で保存・ダウンロードします。
  • そのCSVをオンラインコンバーターかPythonスクリプトでJSONに変換します。
  • ヒント:Power Query(データ → テーブルから)でヘッダーを修正し、空行を除いてからCSVをエクスポートしましょう。

ヘッダー・区切り文字・データ型

出力の良し悪しを決めるのは3つです。まずヘッダー行。存在し、重複がないことが必須です。重複や欠落があるとキーが壊れます。次に区切り文字。ヨーロッパの表計算ソフトは、小数点にカンマを使う地域のためセミコロンでエクスポートすることがよくあります。行がずれて見えたら区切り文字が間違っています。最後に引用符。フィールド内のカンマや引用符はダブルクォートで囲む必要があります(RFC 4180)。正規のCSVは必ずそうなっており、コンバーターもそれを前提にしています。

日付は古典的な罠です。03/04/2026は米国では3月4日、ヨーロッパの多くでは4月3日を意味します。日付が重要な場合は、変換前にISO形式(2026-04-03)に正規化してください。

よくある問題とすぐできる対処法

変換の頭痛の種の大半は4つの問題に集約されます。

  • 文字化け:ファイルがUTF-8ではありません。変換前にUTF-8(BOM付き)で保存し直してください。
  • すべて文字列になった:型推論がオフか、値が引用符で囲まれていました。「型を推論」オプションを有効にするか、文字列のまま受け入れましょう。API側は大抵対応できます。
  • 行がずれて見える:区切り文字の間違いか、引用符なしのフィールド内改行です。CSVを正しくエクスポートし直して再試行してください。
  • 巨大ファイルでブラウザが固まる:CSVを小さく分割するか、上記のPython方式を使ってください。

逆方向:JSONからCSVへ

APIはJSONを渡し、表計算ソフトはCSVを求めます。逆方向の変換も同じくらい一般的です。姉妹ガイドでは同じ3つの方法を逆向きに解説しています。

読む:JSONをCSVに変換する方法

関連ガイド

よくある質問

オンラインでCSVをJSONに変換するのは安全ですか?

ブラウザ内で完結して処理されるコンバーターなら安全です。ファイルは端末内でローカル処理され、サーバーにアップロードされることはありません。不明なサーバーへの機密データのアップロードを求めるツールは避けてください。

ExcelでCSVを直接JSONに変換できますか?

いいえ。ExcelにJSONへの直接エクスポート機能はありません。シートをCSV(UTF-8)で保存・ダウンロードしてから、オンラインツールや短いPythonスクリプトで変換してください。Googleスプレッドシートも同様です。

数値がJSONで文字列になってしまうのはなぜですか?

CSVの各セルは、何かが判断するまではすべてテキストだからです。型推論つきのコンバーターは30を数値に、trueを真偽値に変換します。引用符付きの値やID系の列は意図的に文字列のままにされ、郵便番号の先頭ゼロが保たれます。

JSONをCSVに戻すことはできますか?

はい。「JSONをCSVに変換する方法」のステップバイステップガイドをご覧ください。同じ3つの方法(オンラインコンバーター、Excel、Python)が逆方向にも使えます。

登録なしでCSVをJSONに無料変換する方法はありますか?

はい。ブラウザベースの変換ツールはアカウント不要で無料です。CSVを貼り付けてJSON配列をダウンロードするだけです。繰り返し使う作業には、このガイドの短いPythonスクリプトがオフラインで無制限に使えます。

JSON変換時にExcelが先頭のゼロを消してしまうのを防ぐには?

CSVを保存する前に、IDや郵便番号の列を「文字列」に設定してください。Excelでは「データ」→「テキスト/CSVから」で列の型を文字列に固定するか、Pythonではdtype={"zip": str}で読み込みます。CSVからゼロが消えた後は、どの変換ツールでも復元できません。

セミコロン区切りのCSVをJSONに変換できますか?

はい。変換ツールに区切り文字がカンマではなくセミコロンであることを指定してください。ヨーロッパの表計算ソフトは標準でこの形式で出力します。Pythonではpd.read_csv("data.csv", sep=";")で対応できます。

逆方向の変換が必要ですか?

無料コンバーターはJSONを表計算ソフトで使えるCSVに数秒で変換します。逆方向も同じプライバシーで:登録不要、アップロードなし。

JSON→CSVコンバーターを開く
ガイド一覧