def get_csv_reader(input):
# csv package does not support unicode
input = str(input)
# Special case: detect single-column files.
# This check assumes that our only valid delimiters are commas and tabs.
firstLine = input.split('\n')[0]
if not ('\t' in firstLine or ',' in firstLine) \
or len(input.splitlines()) == 1:
dialect = 'excel'
else:
# Take a data sample to determine dialect, but
# don't include incomplete last line
sample = ''
sampleSize = 0
while len(sample) == 0:
sampleSize += 5000
sample = '\n'.join(input[:sampleSize].splitlines()[:-1])
dialect = csv.Sniffer().sniff(sample)
dialect.skipinitialspace = True
return csv.DictReader(input.splitlines(), dialect=dialect)
评论列表
文章目录