Считайте файл .csv из URL в Python 3.x - _csv.Error: итератор должен возвращать строки, а не байты (вы открывали файл в текстовом режиме?)

Я слишком долго боролся с этой простой проблемой, поэтому подумал, что буду просить о помощи. Я пытаюсь прочитать список журнальных статей с FTP-сайта Национальной медицинской библиотеки на Python 3.3.2 (в Windows 7). Журнальные статьи находятся в файле .csv.

Я пробовал следующий код:

import csv
import urllib.request

url = "ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/file_list.csv"
ftpstream = urllib.request.urlopen(url)
csvfile = csv.reader(ftpstream)
data = [row for row in csvfile]

Это приводит к следующей ошибке:

Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
data = [row for row in csvfile]
File "<pyshell#4>", line 1, in <listcomp>
data = [row for row in csvfile]
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)

Я полагаю, я должен работать со строками, а не байтами? Буду очень признателен за любую помощь в решении простой проблемы и объяснение того, что происходит не так.

Ответы на вопрос(3)

Ваш ответ на вопрос