Читатель csv Python 2 и 3

Я пытаюсь использовать модуль csv для чтения файла csv utf-8, и у меня возникли проблемы с созданием общего кода для python 2 и 3 из-за кодировки.

Вот исходный код в Python 2.7:

with open(filename, 'rb') as csvfile:
    csv_reader = csv.reader(csvfile, quotechar='\"')
    langs = next(csv_reader)[1:]
    for row in csv_reader:
        pass

Но когда я запускаю его с python 3, мне не нравится то, что я открываю файл без «кодирования».

with codecs.open(filename, 'r', encoding='utf-8') as csvfile:
    csv_reader = csv.reader(csvfile, quotechar='\"')
    langs = next(csv_reader)[1:]
    for row in csv_reader:
        pass

Теперь python 2 не может декодировать строку в цикле for. Итак ... как мне это сделать?

10
задан Lennart Regebro 3 March 2011 в 13:03
поделиться