Считайте файл .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?)
Я полагаю, я должен работать со строками, а не байтами? Буду очень признателен за любую помощь в решении простой проблемы и объяснение того, что происходит не так.