csv.reader отказывается от разделителя табуляции

У меня есть CSV-файл с разделителями табуляции, который я хочу импортировать как Pandas DataFrame (и заменить десятичные разделители, но это еще одна проблема).

Насколько я помню, приведенный ниже код работал нормально несколько недель назад, но теперь я получаю сообщение об ошибке:

import csv
with open(path+filename, 'rb') as csv_file:
    reader = csv.reader(csv_file, delimiter="\t")
    IMF = pd.DataFrame(list([[x.replace(',', '.') for x in l] for l in reader]))

Traceback (последний последний вызов): файл "", строка 3, в TypeError: "разделитель" должен быть строкой, а не юникодом

Как я могу конкретно указать csv, что разделитель является вкладкой? Я не знаю "строкового" способа описания вкладки.


person Laurent    schedule 27.03.2017    source источник
comment
Решение работает delimiter=str(u'\t').encode('utf-8'). Но почему код работал раньше? Я не менял версию Python, все еще использую 2.7.   -  person Laurent    schedule 27.03.2017
comment
Трудно сказать. Ознакомьтесь с парой ответов с самым высоким рейтингом на этот вопрос (не принятый ответ). Они могут дать некоторые подсказки.   -  person glibdud    schedule 27.03.2017