On 07/19/12 08:52, Hans Mulder wrote: > Perhaps it should be documented that the Sniffer doesn't work > on single-column data.
I think this would involve the least change in existing code, and go a long way towards removing my surprise. :-) > If you really need to read a one-column csv file, you'll have > to find some other way to produce a Dialect object. Perhaps the > predefined 'cvs.excel' dialect matches your data. If not, the > easiest way might be to manually define a csv.Dialect subclass. The problem I'm trying to solve is "here's a filename that might be comma/pipe/tab delimited, it has an 'email' column at minimum, and perhaps a couple others of interest if they were included" It's improbable that it's ONLY an email column, but my tests happened to snag this edge case. I can likely do my own sniffing by reading the first line, checking for tabs then pipes then commas (perhaps biasing the order based on the file-extension of .csv vs. .txt), and then building my own dialect information to pass to csv.DictReader It just seems unfortunate that the sniffer would ever consider [a-zA-Z0-9] as a valid delimiter. -tkc -- http://mail.python.org/mailman/listinfo/python-list