dialects many of the functions and methods in the csv module involve special dialect parameter the purpose of this parameter is to accommodate different formatting conventions of csv files (for which there is no official "standardformat)--for exampledifferences between comma-separated values and tab-delimited valuesquoting conventionsand so forth dialects are defined by inheriting from the class dialect and defining the same set of attributes as the formatting parameters given to the reader(and writer(functions (delimiterdoublequoteescapecharlineterminatorquotecharquotingskipinitialspacethe following utility functions are used to manage dialectsregister_dialect(namedialectregisters new dialect objectdialectunder the name name unregister_dislect(nameremoves the dialect object with name name get_dialect(namereturns the dialect object with name name list_dialects(returns list of all registered dialect names currentlythere are only two built-in dialects'exceland 'excel-tabexample import csv read basic csv file open("scmods csv"," "for in csv reader( )lastnamefirstnamestreetcityzip print("{ { { { { }format(* )using dictreader instead open("address csv" csv dictreader( ,['lastname','firstname','street','city','zip']for in rprint("{firstname{lastname{street{city{zip}format(** )write basic csv file data ['blues','elwood',' addison','chicago','il',' ]['mcgurn','jack',' broadway','chicago','il',' ] open("address csv"," " csv writer(fw writerows(dataf close( lib fl ff