zvvw_ 2024-04-17 12:01 采纳率: 33.3%
浏览 120

为什么结果可以运行出来,但是最上面仍然出现红色提示

img


为什么结果可以运行出来,但是最上面仍然出现红色提示,这是什么意思啊

  • 写回答

6条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-17 12:01
    关注

    引自免费微信小程序:皆我百晓生

    在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参数。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月17日