如何解决Python:使用IPython.display从网址获取CSV数据时出现TypeError
我正在尝试从python JupyterNotebook中的直接URL提取数据。但是我遇到的错误确实让我感到沮丧。
https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
我只是将Jupyter Notebook功能用作:
from IPython.display import HTML
HTML('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data')
我得到的错误如下:
TypeError Traceback (most recent call last)
<ipython-input-15-0a8be2c0a7c6> in <module>
1 from IPython.display import HTML
----> 2 HTML('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data')
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\display.py in __init__(self,data,url,filename,Metadata)
693 if warn():
694 warnings.warn("Consider using IPython.display.IFrame instead")
--> 695 super(HTML,self).__init__(data=data,url=url,filename=filename,Metadata=Metadata)
696
697 def _repr_html_(self):
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\display.py in __init__(self,Metadata)
619
620 self.reload()
--> 621 self._check_data()
622
623 def __repr__(self):
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\display.py in _check_data(self)
668 def _check_data(self):
669 if self.data is not None and not isinstance(self.data,str):
--> 670 raise TypeError("%s expects text,not %r" % (self.__class__.__name__,self.data))
671
672 class Pretty(TextdisplayObject):
TypeError: HTML expects text,not b'5.1,3.5,1.4,0.2,Iris-setosa\n4.9,3.0,Iris-setosa\n4.7,3.2,1.3,Iris-setosa\n4.6,....
非常感谢您的帮助。
解决方法
该错误是由于HTML()
个用户期望CSV造成的。
使用熊猫read_csv
轻松便捷地读取CSV文件:
import pandas as pd
data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data')
print(data)
输出:
5.1 3.5 1.4 0.2 Iris-setosa
0 4.9 3.0 1.4 0.2 Iris-setosa
1 4.7 3.2 1.3 0.2 Iris-setosa
2 4.6 3.1 1.5 0.2 Iris-setosa
3 5.0 3.6 1.4 0.2 Iris-setosa
4 5.4 3.9 1.7 0.4 Iris-setosa
.. ... ... ... ... ...
144 6.7 3.0 5.2 2.3 Iris-virginica
145 6.3 2.5 5.0 1.9 Iris-virginica
146 6.5 3.0 5.2 2.0 Iris-virginica
147 6.2 3.4 5.4 2.3 Iris-virginica
148 5.9 3.0 5.1 1.8 Iris-virginica
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。