python文件包含以下代码
import csv
import urllib.request
url = "https://gist.githubusercontent.com/aparrish/cb1672e98057ea2ab7a1/raw/13166792e0e8436221ef85d2a655f1965c400f75/lebron_james.csv"
stats = list(csv.reader(urllib.request.urlopen(url)))
当我在python中运行上面的代码时,我得到以下异常:
错误
追溯(最近的呼叫最后) in() 1 url =“https://gist.githubusercontent.com/aparrish/cb1672e98057ea2ab7a1/raw/13166792e0e8436221ef85d2a655f1965c400f75/lebron_james.csv” ----> 2 stats = list(csv.reader(urllib.request.urlopen(url)))错误:迭代器应该返回字符串,而不是字节(你是否以文本模式打开文件?)
如何解决此问题?
答案 0 :(得分:1)
urllib
的文档建议使用requests模块。
你必须注意两件事:
requests
时,使用text
负责解码。csvreader
需要一个行列表,而不是一个文本块。在这里,我们将其与splitlines
分开。所以,你可以这样做:
import csv
import requests
url = "https://gist.githubusercontent.com/aparrish/cb1672e98057ea2ab7a1/raw/13166792e0e8436221ef85d2a655f1965c400f75/lebron_james.csv"
text = requests.get(url).text
lines = text.splitlines()
stats = csv.reader(lines)
for row in stats:
print(row)
# ['Rk', 'G', 'Date', 'Age', 'Tm', ...]
# ['1', '1', '2013-10-29', '28-303', 'MIA',... ]
答案 1 :(得分:0)
我真的不知道这些数据是什么,但如果您有兴趣将它们与,
分开,可以尝试这样的事情:
stats = list(csv.reader(urllib.request.urlopen(url).read().decode()))
1.它从响应数据中读取
2.从字节到字符串解码
3.CSV读者
4.Cast CSV对象列表
如果您希望这些数据有所不同,请告诉我,以便我可以编辑我的答案。祝你好运。
答案 2 :(得分:0)
您应该阅读urllib.request.urlopen
的回复。
stats = list(csv.reader(urllib.request.urlopen(url).read().decode("UTF-8")))
答案 3 :(得分:0)
请尝试以下代码。
android:animateLayoutChanges="false"