python csv register_dialect - PullRequest
       23

python csv register_dialect

3 голосов
/ 21 декабря 2011

Я использую модуль CSV в Python для анализа файла с разделителями. Я использую метод register_dialect в csv, чтобы указать разделитель и другие параметры. Все это время работало нормально, но теперь у меня есть файл, который использует «табуляцию» в качестве разделителя. Это, очевидно, дает мне ошибку - «TypeError:« delimiter »должен быть строкой из 1 символа при использовании« \ t »в качестве разделителя. Есть ли способ использовать символ табуляции здесь? Какие у меня варианты сейчас?

Спасибо !!

fileObject = open(fullFilePath,'rb')
csv.register_dialect('MyDialect', delimiter='\t',doublequote=False,quotechar='',lineterminator='\n',escapechar='',quoting=csv.QUOTE_NONE)
myReader = csv.reader(fileObject,'MyDialect')

Я использую Python 2.7.

Ответы [ 2 ]

0 голосов
/ 16 сентября 2016

Проверьте диалект по умолчанию excel_tab.Вы можете указать это в csv.reader вызовах с dialect=excel_tab, который заменит значение по умолчанию dialect=excel, которое использует CSV.

0 голосов
/ 21 декабря 2011

Я никогда не использовал метод register_dialect, но можно передать в csv.reader аргумент delimiter, который принимает значение \t.http://docs.python.org/library/csv.html

...