如何处理警告:“工作簿不包含默认样式,应用openpyxl的默认样式”

问题描述 投票:0回答:8

我有当前最新版本的 pandas、openpyxl、xlrd。

openpyxl:3.0.6.
熊猫:1.2.2.
xlrd:2.0.1.

我有一个生成的 excel xlsx- 文件(从网络应用程序导出)。
我在 pandas 中读到的:

myexcelfile = pd.read_excel(easy_payfile, engine="openpyxl")

一切顺利,我可以成功读取文件。

但我确实收到警告:

/Users/*******/projects/environments/venv/lib/python3.8/site-packages/openpyxl/styles/stylesheet.py:214: UserWarning: Workbook contains no default style, apply openpyxl's default
  warn("Workbook contains no default style, apply openpyxl's default")

文档没有对此提供太多说明。

有什么方法可以添加选项来避免此警告?

我宁愿不压抑它。

python pandas openpyxl
8个回答
27
投票

我认为该库没有为您提供禁用此功能的方法,因此您将需要直接使用警告包。

解决问题的简单而准时的方法是:

import warnings

with warnings.catch_warnings(record=True):
    warnings.simplefilter("always")
    myexcelfile = pd.read_excel(easy_payfile, engine="openpyxl")

8
投票

@ruhanbidart 解决方案比我的更好,因为你只为调用read_excel关闭警告,但如果你有数十次调用

pd.read_excel
,你可以简单地禁用所有警告:

import warnings
warnings.simplefilter("ignore")

5
投票

我也有同样的警告。只需将我的Excel文件的工作表名称从“sheet_1”更改为“Sheet1”,然后警告就消失了。与尤安非常相似。我认为 pandas 应该稍后修复这个警告。


4
投票

df=pd.read_excel("my.xlsx",engine="openpyxl") 
传递引擎参数消除了我的警告。
Default = None
,所以我认为这只是警告你它使用 openpyxl 作为默认样式。


2
投票

我收到了完全相同的警告,并且无法读取该文件。就我而言,问题出在 Excel 文件中的工作表名称。

初始名称包含

.
(例如:
MDM.TARGET
)我只需将
.
替换为
_
,一切都很好。


2
投票

就我而言,它是工作表名称。从 Sheet0 我将其重命名为 Sheet1


1
投票

在我的情况下,某些列的名称中带有美元符号($)。将“$”替换为“_”解决了问题。


0
投票

就我而言,我只是用 Libreoffice 打开了 excel,然后保存了 excel,没有对其进行任何更改。并且它的工作没有任何问题或警告。我的excel是Trendyol平台图片库中的图片列表。所以我猜这个错误是由代码生成的Excel中缺少某些内容引起的,当我们打开文件并再次保存时,这个缺少的部分就得到了解决。

© www.soinside.com 2019 - 2024. All rights reserved.