我最近切换到 Jupyter Lab,发现 pd.read_excel() 现在在其参数中需要“engine = 'openpyxl'”,以避免默认为 xlrd 时出现已知错误。不幸的是,openpyxl 作为一个引擎引入了我以前的代码都没有考虑的问题。
特别是,当我导入 xlsx 文件时,它似乎将 NaN 值的行附加到数据帧的末尾。我知道 Excel 工作表开头的空白行被推到导入末尾的问题,而这里不是这种情况。我有一个带有多个选项卡的 Excel 文件,每个选项卡的第一行中有 16 个唯一的列标题(并且选项卡之间相同),并且每一行都填充了数据。以前,在 Jupyter Notebook(并且没有 engine='openpyxl')中,带有 sheet_name=None 的 read.excel() 将从每个选项卡创建一个数据帧字典,不会读取数据末尾之外的其他行。现在,我在一些数据帧的末尾得到了一千多行空白行。
我不期待浏览我所有的旧代码并将 dropna(how='all) 添加到每个导入中,并且担心这可能表明我没有发现更大的问题。有没有人经历过类似的事情?下面是在 Jupyter Lab 中导入相关选项卡的示例,以及选项卡本身的 Excel 工作表,第 5226 行之外没有数据。
谢谢您的帮助!