如何格式化python数据框架超链接,以便可以使用Web浏览器正确打开它们?

问题描述

我正在尝试打开pandas数据框列中的网址链接,但是每次我尝试打开其中一个链接(无论是pdf链接还是指向某些网页)时,都会收到错误消息。

到目前为止,这是我的代码

url = filTrado.iloc[[0]]['Bases reguladoras']

print(url)

webbrowser.get('safari').open_new(url)

我收到此错误(译自西班牙语):“ Safari无法打开指定的地址,因为该地址的第一部分无效”。

这是我要打开的网址之一:“ http://www.bocm.es/boletin/CM_Orden_BOCM/2018/08/09/BOCM-20180809-15.PDF”

当我直接打开链接时:

webbrowser.get('safari').open_new("http://www.bocm.es/boletin/CM_Orden_BOCM/2018/08/09/BOCM-20180809-15.PDF")

它工作正常,所以我猜该数据帧正在某种程度上解析该字符串,而我无法使用它的有效地址。

实际上,当尝试使用“请求”库下载内容时:

myfile = requests.get(url)
open('./Prueba_bocm.pdf','wb').write(myfile.content)

我收到错误消息:“找不到用于“ 22 b'的连接适配器http://www.bocm.es/boletin/CM_Orden_BOCM/2018/08/09/BOCM-20180809-15.PDF'\n名称:基本reguladoras,dtype:bytes576“”

解决方法

尝试使用filtrado['Bases reguladoras'].iloc[0]而不是filtrado.iloc[[0]]['Bases reguladoras']。后者返回pandas.core.series.Series,而前者是普通条目。