
为什么结果可以运行出来,但是最上面仍然出现红色提示,这是什么意思啊
关注引自免费微信小程序:皆我百晓生
在Python中,当你看到像这样的红色提示信息时,它通常是一个警告(Warning),而不是错误(Error)。警告不会阻止程序的执行,但它们提供了关于可能存在的问题或潜在不一致性的信息。在这个例子中,来自BeautifulSoup库的警告告诉你,你同时提供了Unicode字符串和from_encoding参数,而后者会被忽略。
这个警告产生的原因是pd.read_html()函数尝试解析HTML数据时,你已经将URL中的网页内容作为字符串传递给了它。由于字符串已经是UTF-8编码的,所以不需要额外指定encoding参数。为了消除这个警告,你可以去掉第5行代码中的encoding='gbk'部分。下面是修改后的代码:
import pandas as pd
url = "http://money.finance.sina.com.cn/corp/go.php/vFD_FinancialGuideLine/stockid/688066/ctrl/2021/displaytype/4.phtml"
dfs = pd.read_html(url)
for df in dfs:
print(df)
print("--" * 20)
print(dfs[1])
这段代码应该能正常运行,并且不再显示关于from_encoding的警告。如果你在处理其他HTML数据时遇到类似的问题,检查一下是否有可能导致重复指定编码的情况。如果字符串已经是正确的编码,那么可以去掉encoding参数。