Para especificarmos o 'dialeto' do CSV, especificamos uma classe que herda de csv.Dialect. Um exemplo:
class dialeto(csv.Dialect):
delimiter = ';'
skipinitialspace = True
quotechar = '"'
doublequote = True
lineterminator = "\n"
quoting = csv.QUOTE_ALL
reader = csv.reader(open("tab_municipios.csv", "rb"),dialeto)
Mas podemos deixar isso um pouco mais fácil: usar o sniffer do módulo csv pra detectar o dialeto! Exemplo:
dialeto=csv.Sniffer().sniff(open('tab_municipios.csv', 'r').read())
reader = csv.reader(open("tab_municipios.csv", "rb"),dialeto)
Dica retirada e adaptada de redmountainsw.com