この単純な問題に長い間悩まされてきたので、助けを求めることにしました。National Library of Medicine 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?)
バイトではなく文字列で作業する必要があると思いますか? 単純な問題の助けと、何がうまくいかないかについての説明をいただければ幸いです。