JSON vers CSV/ Tableau JSON → Fichier CSV

Convertissez les tableaux JSON en CSV en un clic — délimiteurs personnalisés, aplatissement des objets imbriqués, téléchargement direct.

Délimiteur
JSON
CSV

Cet outil a-t-il résolu votre problème ?

Exemples de code

JavaScript / Node.js
// Using json2csv npm package
import { Parser } from 'json2csv';

const data = [
  { name: 'Alice', age: 30, city: 'Beijing' },
  { name: 'Bob',   age: 25, city: 'Shanghai' },
];

const parser = new Parser({ fields: ['name', 'age', 'city'] });
const csv = parser.parse(data);
// name,age,city
// Alice,30,Beijing
// Bob,25,Shanghai

// Built-in (no deps)
const toCsv = (arr) => {
  const keys = Object.keys(arr[0]);
  const rows = arr.map(r => keys.map(k =>
    JSON.stringify(r[k] ?? '')).join(','));
  return [keys.join(','), ...rows].join('\n');
};
Python (pandas)
import pandas as pd
import json

# From JSON string
json_str = '[{"name":"Alice","age":30},{"name":"Bob","age":25}]'
df = pd.read_json(json_str)
df.to_csv('output.csv', index=False)

# From nested JSON (flatten)
from pandas import json_normalize
data = [{"user": {"name": "Alice"}, "score": 100}]
df = json_normalize(data)
# Columns: user.name, score
df.to_csv('flat.csv', index=False)

# Custom delimiter
df.to_csv('output.csv', sep=';', index=False)
Go
import (
  "encoding/csv"
  "encoding/json"
  "os"
)

type Row struct {
  Name string `json:"name"`
  Age  int    `json:"age"`
}

func main() {
  data := []Row{{"Alice", 30}, {"Bob", 25}}
  f, _ := os.Create("output.csv")
  w := csv.NewWriter(f)
  w.Write([]string{"name", "age"})
  for _, r := range data {
    w.Write([]string{r.Name, fmt.Sprint(r.Age)})
  }
  w.Flush()
}
Shell (jq + awk)
# jq: extract fields as TSV
cat data.json | jq -r '
  .[] | [.name, .age, .city] | @tsv
' > output.tsv

# With headers
cat data.json | jq -r '
  ["name","age","city"],
  (.[] | [.name, .age, .city])
  | @csv
' > output.csv

# Using Miller (mlr)
mlr --json --ocsv cat data.json > output.csv

Questions fréquemment posées

Quels sont les cas d'utilisation courants de JSON vers CSV ?
JSON est le format de données API standard ; CSV est le format pour les tableurs (Excel, Google Sheets) et les outils d'analyse de données (pandas, R). Cas courants : export de données API vers Excel, import de résultats de requêtes dans des pipelines de données.
Comment les objets JSON imbriqués sont-ils traités ?
Deux approches : 1) Aplatissement — user.name et user.age deviennent deux colonnes. 2) Sérialisation — l'objet imbriqué est converti en chaîne JSON dans une seule cellule. L'option 'Aplatir les objets imbriqués' utilise la notation par points.
Comment les caractères spéciaux CSV sont-ils traités ?
RFC 4180 exige : les champs contenant des virgules, retours à la ligne ou guillemets doivent être entre guillemets doubles. Cet outil gère ces cas automatiquement.
Quand utiliser des points-virgules au lieu de virgules ?
Dans certains pays européens (Allemagne, France, Pays-Bas), les virgules servent de séparateurs décimaux, donc Excel utilise par défaut des points-virgules (;) comme délimiteurs CSV.
Comment convertir JSON en CSV en Python ?
Avec la bibliothèque standard : import json, csv; data = json.load(open('data.json')); writer = csv.DictWriter(open('out.csv', 'w'), fieldnames=data[0].keys()); writer.writeheader(); writer.writerows(data). Avec pandas également possible.
D'autres formats que les tableaux JSON peuvent-ils être convertis ?
Pris en charge : tableaux JSON (plus courant), un objet JSON unique (une ligne de sortie), un objet contenant un champ tableau (le premier tableau est extrait). Non pris en charge : tableaux profondément imbriqués.