Project

General

Profile

« Previous | Next » 

Revision 1442

csvs.py: reader_and_header(): Restrict delimiters to common delimiters so that e.g. letters are not considered delimiters just because they appear frequently

View differences:

lib/csvs.py
3 3
import csv
4 4
import StringIO
5 5

  
6
delimiters = ',\t`'
7

  
6 8
def reader_and_header(stream):
7 9
    '''Automatically detects the dialect based on the header line
8 10
    @return tuple (reader, header)'''
9 11
    header_line = stream.readline()
10
    dialect = csv.Sniffer().sniff(header_line)
12
    sniffer = csv.Sniffer()
13
    dialect = sniffer.sniff(header_line, delimiters)
11 14
    dialect.doublequote = True # Sniffer doesn't turn this on by default
12 15
    header = csv.reader(StringIO.StringIO(header_line), dialect).next()
13 16
    return (csv.reader(stream, dialect), header)

Also available in: Unified diff