Demander des tableaux et des données structurées
Demandez des tableaux Markdown et une sortie structurée pour les tâches de comparaison.
Demander des tableaux et des données structurées est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.
Les tableaux comme format de sortie
Les tableaux constituent l'un des formats de sortie d'IA les plus utiles pour les informations comparatives. Ils rendent les relations entre les éléments faciles à parcourir et permettent une analyse rapide côte à côte.
Pour obtenir de bons tableaux, la clé consiste à préciser les noms exacts des colonnes, ce que chacune doit contenir et le nombre de lignes à inclure.
Demande de tableau de base
Le modèle standard pour demander un tableau Markdown :
'Mettez en forme comme un tableau Markdown avec les colonnes : [Colonne1], [Colonne2], [Colonne3].'
Les tableaux Markdown s'affichent dans GitHub, Notion, Obsidian et la plupart des interfaces de discussion avec une IA. Ils utilisent des caractères de barre verticale pour séparer les colonnes et des tirets pour séparer les en-têtes.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Compare Python, JavaScript, and Go for building REST APIs. '
'Format as a markdown table with columns: '
'Language, Performance, Learning Curve, Ecosystem, Best Use Case. '
'One row per language. Be concise — max 8 words per cell.'
)
}]
)
print(response.choices[0].message.content)Tableaux comparatifs
Les tableaux comparatifs sont idéaux pour choisir entre plusieurs options. Demandez-les ainsi :
- 'Créez un tableau comparatif de X par rapport à Y et Z...'
- 'Créez un tableau comparatif des fonctionnalités pour...'
- 'Construisez un tableau des avantages et des inconvénients comparant...'
Placez les options en lignes et les critères d'évaluation en colonnes — ou l'inverse, selon la disposition la plus lisible pour votre contenu.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
'Create a comparison table for three cloud database options: '
'Supabase, PlanetScale, and Neon.\n'
'Rows: one per database.\n'
'Columns: Free tier storage, Scaling model, Pricing at 10GB, '
'Branching support, SQL compatibility.\n'
'Format: markdown table. Cell content: max 6 words each.'
)
}]
)
print(response.content[0].text)Tableaux matriciels de fonctionnalités
Une matrice de fonctionnalités est un tableau dont les lignes représentent des éléments et les colonnes des fonctionnalités, chaque cellule affichant une coche, un score ou une valeur brève. Exemples d'utilisation courants :
- Comparaison des fonctionnalités d'un logiciel entre différentes versions ou différents concurrents
- Comparaison de forfaits pour des produits SaaS
- Matrices de prise en charge technologique (quel navigateur ou quel OS prend quoi en charge)
Demandez : 'Créez un tableau matriciel de fonctionnalités avec des coches (oui/non) pour chaque fonctionnalité.'
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Create a feature matrix table for our SaaS pricing tiers: Free, Pro, Enterprise.\n'
'Rows: API access, Custom domains, SSO login, SLA guarantee, Priority support, '
'Data export, Team collaboration, Audit logs.\n'
'Columns: Free, Pro, Enterprise.\n'
'Use: YES / NO / PARTIAL for each cell.\n'
'Format: markdown table.'
)
}]
)
print(response.choices[0].message.content)Tableaux de données à partir de texte
Une méthode particulièrement puissante consiste à demander au modèle d'extraire des informations d'un texte non structuré et de les mettre en forme dans un tableau. Il s'agit essentiellement d'une analyse de données assistée par l'IA :
'Extrayez les informations suivantes du texte ci-dessous et mettez-les en forme dans un tableau avec les colonnes X, Y et Z.'
Précisez toujours explicitement les noms des colonnes afin d'obtenir une structure cohérente.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
meeting_notes = (
'Sarah will handle the API documentation by next Friday. '
'John needs to fix the authentication bug — aim for Wednesday. '
'Maria is responsible for the mobile UI update, due in 2 weeks. '
'The DevOps team (lead: Alex) must set up staging by Monday. '
'Carlos will write unit tests — deadline: end of sprint (Thursday).'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': (
'Extract all action items from the meeting notes below. '
'Format as a markdown table with columns: Task, Owner, Deadline.\n\n'
f'Meeting notes:\n{meeting_notes}'
)
}]
)
print(response.content[0].text)Sortie CSV
Lorsque vous avez besoin de données à importer dans un tableur, une base de données ou un traitement ultérieur, demandez une sortie CSV (valeurs séparées par des virgules) plutôt que des tableaux Markdown.
'Présentez les lignes au format CSV avec une ligne d'en-tête' ou 'Mettez en forme au format CSV. Première ligne : en-têtes des colonnes.'
Le CSV est portable et peut être collé directement dans Excel ou Google Sheets, ou analysé par du code.
import openai
import csv
import io
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Generate 5 sample customer support tickets for an e-commerce store. '
'Output as CSV with header row. '
'Columns: ticket_id, customer_name, issue_type, priority, status. '
'issue_type values: SHIPPING / BILLING / PRODUCT / RETURNS. '
'priority values: LOW / MEDIUM / HIGH. '
'status values: OPEN / IN_PROGRESS / RESOLVED. '
'No markdown formatting — raw CSV only.'
)
}]
)
csv_text = response.choices[0].message.content.strip()
reader = csv.DictReader(io.StringIO(csv_text))
for row in reader:
print(row)Sortie structurée JSON
Pour une utilisation programmatique, JSON est souvent le meilleur format. Demandez-le explicitement :
'Présentez la réponse sous forme d'objet JSON avec les clés X, Y et Z.'
'Renvoyez un tableau JSON dont chaque élément possède les propriétés A, B et C.'
Certains modèles prennent en charge un mode JSON natif qui garantit une sortie JSON valide — mais même sans ce mode, une demande explicite de JSON et une description du schéma produisent généralement une sortie analysable.
import anthropic
import json
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
'Generate 3 fictional user profiles for testing a fitness app. '
'Output as a JSON array. '
'Each object must have exactly these keys: '
'id (integer), name (string), age (integer 18-65), '
'fitness_level ("BEGINNER" | "INTERMEDIATE" | "ADVANCED"), '
'goals (array of strings, max 3), weekly_sessions (integer 1-7). '
'Output raw JSON only — no explanation, no markdown code fences.'
)
}]
)
try:
data = json.loads(response.content[0].text)
print(f'Parsed {len(data)} profiles successfully.')
for profile in data:
print(f' {profile["name"]}, {profile["age"]}, {profile["fitness_level"]}')
except json.JSONDecodeError as e:
print('JSON parse error:', e)Préciser les règles de contenu des cellules
La qualité d'un tableau s'améliore considérablement lorsque vous définissez ce qui est autorisé dans chaque cellule :
- '5 mots maximum par cellule' — évite les cellules trop détaillées qui déforment la mise en forme du tableau
- 'Oui/Non uniquement' — matrice binaire de fonctionnalités
- 'Montant en euros uniquement, sans explication' — tableaux de prix clairs
- 'Un seul mot uniquement' — concision imposée
- 'Note de 1 à 10' — tableaux d'évaluation numériques
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Rate the following programming languages for these criteria.\n'
'Languages (rows): Python, Rust, TypeScript, Go.\n'
'Criteria (columns): Speed, Safety, Developer Experience, Job Market, Learning Curve.\n'
'Cell format: integer score 1-10 only. No words, no explanation inside cells.\n'
'After the table, add one sentence explaining your scoring philosophy.'
)
}]
)
print(response.choices[0].message.content)Tableaux transposés
Parfois, l'orientation par défaut des lignes et des colonnes ne convient pas à vos données. Un tableau transposé inverse les lignes et les colonnes — ce qui est utile lorsque vous avez de nombreux attributs mais peu d'éléments.
Demandez : 'Créez un tableau avec les éléments en colonnes et les attributs en lignes' ou 'Transposez le tableau afin que X soit placé dans les colonnes.'
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': (
'Compare two job candidates: Alice and Bob. '
'Create a transposed table where candidates are COLUMNS and attributes are ROWS. '
'Attributes (rows): Years Experience, Primary Language, Education, '
'Previous Employer, Salary Expectation Range. '
'Format: markdown table. Cell content: factual, max 6 words.\n\n'
'Alice: 7 years Python/ML, MS Computer Science MIT, ex-Google, expects $180-220k.\n'
'Bob: 4 years JavaScript/Node, BS from UC Berkeley, ex-Stripe startup, expects $140-170k.'
)
}]
)
print(response.content[0].text)Quand NOT utiliser les tableaux
Les tableaux ne constituent pas toujours le bon format. Évitez-les lorsque :
- Vous n'avez que 2 éléments — une brève comparaison sous forme de paragraphe est plus lisible
- Le contenu des cellules varie fortement en longueur — les tableaux deviennent illisibles
- La sortie sera utilisée dans un environnement en texte brut (corps d'un e-mail, SMS)
- Vous générez du contenu destiné à une sortie vocale
- Les relations sont hiérarchiques et non tabulaires (utilisez plutôt des listes imbriquées)
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Table works: structured comparison
table_prompt = (
'Compare MySQL vs PostgreSQL. '
'Format: markdown table, columns: Feature, MySQL, PostgreSQL. '
'6 rows covering: JSON support, Full-text search, Replication, Transactions, License, Best for.'
)
# No table needed: simple 2-option choice with prose reasoning
not_table_prompt = (
'Should I use SQLite or PostgreSQL for a personal hobby project '
'that will have at most 5 users? 2-sentence answer, no table.'
)
for label, prompt in [('TABLE APPROPRIATE', table_prompt), ('TABLE OVERKILL', not_table_prompt)]:
response = client.chat.completions.create(
model='gpt-4o', max_tokens=200,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'--- {label} ---')
print(response.choices[0].message.content.strip()[:300])
print()Combiner des tableaux avec d'autres formats
Les tableaux s'associent bien à un texte ou à des listes environnants. Voici une structure courante pour obtenir une sortie de qualité :
- Un bref paragraphe d'introduction expliquant les critères de comparaison
- Le tableau pour faciliter la lecture rapide
- Un paragraphe de recommandation présentant la conclusion finale
Demandez-le explicitement : 'Incluez : une introduction d'une phrase, le tableau, puis une recommandation de deux phrases.'
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=500,
messages=[{
'role': 'user',
'content': (
'Compare three Python testing frameworks: pytest, unittest, and nose2. '
'Structure your response as:\n'
'1. One-sentence intro explaining the comparison scope.\n'
'2. Markdown table: columns = Framework, Ease of Use, Plugin Ecosystem, '
'Speed, Community Activity. Rows = one per framework.\n'
'3. One-sentence recommendation for a team starting a new project.'
)
}]
)
print(response.content[0].text)Vérification des connaissances
Un développeur souhaite générer des données d'exemple pour tester une base de données à l'aide de l'IA. Il lui faut 10 lignes de données client avec un ID, un nom, une adresse e-mail, un pays et un niveau de compte. Quel est le meilleur format de sortie à demander ?
Récapitulatif — tableaux et données structurées
Les demandes de tableaux et de données structurées ouvrent l'accès à certains des formats de sortie les plus utiles de l'IA. Techniques essentielles :
- Précisez les noms exacts des colonnes pour obtenir une structure cohérente
- Utilisez les tableaux comparatifs pour analyser les options côte à côte
- Utilisez le CSV lorsque les données seront traitées de manière programmatique
- Utilisez le JSON pour l'intégration aux API et l'utilisation par du code
- Définissez les règles de contenu des cellules : nombre maximal de mots, valeurs autorisées, échelle d'évaluation
- Envisagez de transposer le tableau lorsque les éléments sont plus nombreux que les attributs
- Combinez les tableaux avec du texte pour créer des documents complets et lisibles
Apprends AI Prompt Engineering avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 53
- Leçons
- 199
Questions Fréquemment Posées
La leçon « Demander des tableaux et des données structurées » est-elle gratuite ?
Oui — le texte complet de « Demander des tableaux et des données structurées » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Demander des tableaux et des données structurées » ?
Demandez des tableaux Markdown et une sortie structurée pour les tâches de comparaison. Tu pratiques AI Prompt Engineering avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Prompt Engineering ?
Aucune expérience préalable n'est requise. AI Prompt Engineering sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Demander des tableaux et des données structurées » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Prompt Engineering ?
Oui. Chaque leçon AI Prompt Engineering inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Demander des listes et des puces
- Demander des tableaux et des données structurées
- Mise en forme Markdown dans les invites
- Texte brut ou sortie mise en forme