在Python上安装pandas - numpy去哪了?

7 投票
1 回答
3269 浏览
提问于 2025-04-18 09:37

我想打开一个网站,提取网站上的一个Excel文件,编辑它,然后把它放到另一个网站上。我在这个网站上看到一个评论,里面有很好的建议,教我怎么用 import pandas 来做到这一点。

我从Python官网上下载了pandas(还有其他一些模块),然后写了代码。但是当我尝试运行它时,出现了以下错误:

Warning (from warnings module):
  File "C:\Python27\lib\site-packages\pandas\io\excel.py", line 626
    .format(openpyxl_compat.start_ver, openpyxl_compat.stop_ver))
UserWarning: Installed openpyxl is not supported at this time. Use >=1.6.1 and <2.0.0.
Traceback (most recent call last):
  File "C:\Python27\more_url_stuff.py", line 6, in <module>
    socket = urllib2.urlopen(link)
  File "C:\Python27\lib\urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 410, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 401: Unauthorized 

这是怎么回事呢?

有没有更简单的方法可以从网上下载这个Excel文件?

我上周才开始学习Python,所以对一些简单的事情还是有点困惑。

1 个回答

18

更新:Pandas 0.15.2版本已经发布,它和最新的openpyxl(2.0或更高版本)配合得很好。之前的回答已经过时了。


好的,看起来你已经安装了最新的pandas版本(==0.14.0),这个版本需要特定版本的Openpyxl。如果你不在乎放弃新版本带来的新功能,可以尝试卸载你现在的openpyxl,然后安装一个旧版本。

pip uninstall openpyxl
pip install openpyxl==1.8.6

如果你只是想下载文件并保存到本地文件夹,这里有一个更简单的方法:

import urllib
URL_to_the_file = "http://real-chart.finance.yahoo.com/table.csv?s=SPY&a=00&b=29&c=1993&d=05&e=13&f=2014&g=d&ignore=.csv"
urllib.urlretrieve (URL_to_the_file, "downloaded.csv")

撰写回答