On se retrouve parfois à devoir manipuler des tas d'informations qui ont de fortes similarités : par exemple, une liste de pays avec le code international du pays, le nom de sa monnaie, le symbole de sa monnaie, sa population, ...
On organise alors ces données en table ou tableau : dans une colonne, on met tous les pays, dans une autre, on met leur population, ... Chaque élément d'une colonne est du même type : par exemple, dans la colonne des noms de pays, on ne retrouve que des noms de pays. C'est donc un même type sémantique, mais aussi un même type de représentation des données (le nom d'un pays sera représenté par une chaîne de caractère, la population par un entier).
Une table est donc un type construit de données comprenant
Une manière courante de sauvegarder ou de distribuer de telles données est d'utiliser le format texte csv (en anglais comma-separated values). Chaque ligne du fichier texte correspond à une ligne de la table et les virgules correspondent aux séparations entre les colonnes. Les portions de texte séparées par une virgule correspondent ainsi aux contenus des cellules du tableau. Une ligne est une suite ordonnée de caractères terminée par un caractère de fin de ligne (line break – LF ou CRLF).
Pour utiliser le format csv, il ne faut pas que le caractère de séparation (la virgule par défaut) soit utilisé dans les données. Si besoin, on en change (le point virgule ; est souvent utilisé).
Voici les premières lignes du fichier countries.csv
iso;name;area;population;continent;currency_code;currency_name;capital
AD;Andorra;468.0;84000;EU;EUR;Euro;6
AE;United Arab Emirates;82880.0;4975593;AS;AED;Dirham;21
AF;Afghanistan;647500.0;29121286;AS;AFN;Afghani;81
AG;Antigua and Barbuda;443.0;86754;NA;XCD;Dollar;119
AI;Anguilla;102.0;13254;NA;XCD;Dollar;126
AL;Albania;28748.0;2986952;EU;ALL;Lek;157
AM;Armenia;29800.0;2968000;AS;AMD;Dram;191
AO;Angola;1246700.0;13068161;AF;AOA;Kwanza;235
AR;Argentina;2766890.0;41343201;SA;ARS;Peso;382