Écrivain csv Python mauvais séparateur?

Avertissement: je suis en Europe.

Selon cette page Excel utilise le point-virgule ; comme séparateur par défaut en Europe afin de "prévenir les conflits" avec la virgule décimale.

Maintenant, j'ai ce code Python:

import csv

data = [["test", "data"], ["foo", "bar"]]
writer = csv.writer(open("data.csv", "wb"), dialect="excel")
writer.writerows(data)

Qui devrait générer ce fichier:

test;data
foo;bar

mais au lieu de cela, il utilise des virgules. Pourquoi est-ce arrivé? locale.getdefaultlocale() retourne ('nl_NL', 'cp1252').

source d'informationauteur orlp