确定 openpyxl 中的工作表是否为空

2024-05-25

我有一个应用程序,如果已经有数据,则将工作表写入最后一列 + 2;如果工作表为空,则写入最后一列 + 1。我得到了我认为是空的工作表,如下所示:

from openpyxl.workbook.workbook import Workbook
book = Workbook()
sheet = book.active

当我做sheet.max_row and sheet.max_column, I get 1对于这两个属性。我想得到零,所以我执行以下操作:

if sheet.max_row == 1 and sheet.max_column == 1 and not sheet['A1'].value:
    start_col = 1
else:
    start_col = sheet.max_column + 2

必须检查单元格的值似乎有点矫枉过正,更不用说容易出错了。我最初期望以下内容能够发挥作用:

if sheet.max_column == 0:
    start_col = 1
else:
    start_col = sheet.max_column + 2

有没有理由max_row and max_column总是>= 1?这是一个错误、一个有意的功能还是其他东西的合理副作用?最后,是否有解决方法(例如sheet.isempty()).

顺便说一句,我在浏览错误跟踪器时发现了以下评论:https://bitbucket.org/openpyxl/openpyxl/issues/514/cell-max_row-reports-higher-than-actual#comment-21091771 https://bitbucket.org/openpyxl/openpyxl/issues/514/cell-max_row-reports-higher-than-actual#comment-21091771:

具有空单元格的行仍然是行。它们可能会被格式化以供将来使用或其他用途,我们不知道。 2.3 稍微改进了启发式,但仍包含空单元格行。

这(以及我无法再找到链接的另一条评论)让我相信第一个单元实际上总是存在。在这种情况下,是否值得提交功能请求?


确定工作表是否为“空”的唯一可靠方法是查看_cells属性。然而,这是内部 API 的一部分,可能会发生变化。事实上,几乎肯定会发生变化。

The max_row and max_column属性在计数器内部使用,并且必须为 1 或更多。

没有相关代码和测试的功能请求将被拒绝,并且我总体上对“空”工作表的想法相当怀疑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定 openpyxl 中的工作表是否为空 的相关文章

  • 使用openpyxl无法读取excel文件

    我有一个 Excel 文件列表 最后一行类似 它包含有关客户的私人信息 他的名字 姓氏 电话 每个excel文件对应一个客户 我需要制作一个 Excel 文件 其中包含每个客户的所有数据 我决定自动执行此操作 所以查看了openpyxl图书
  • 如何使用 openpyxl“格式化单元格”?

    我想使用 openpyxl 格式化 Excel 工作表中的列单元格 使其数字小数位为 0 示例表 B C 63245634566 NAME 63562341234 NAME 23452345345 NAME 21345234554 NAME
  • 读取由 nan 行分割的数据帧,并将它们重新整形为 Python 中的多个数据帧

    我有一个 excel 文件示例data1 xlsx from 其中有一个Sheet1如下 现在我想阅读它openpyxl or pandas 然后将它们转换为新的df1 and df2 我最终将它们保存为price and quantity
  • 使用 openpyxl 将图像插入 Excel

    我的电脑崩溃了 所以我不得不重新安装所有的库 完成安装后 我意识到一些库更新到了新版本 并且我的代码不再工作 由于 openpyxl 的新版本 我正在尝试将图像插入 Excel 文件 但我不明白出现的错误消息 其他问题似乎适用于旧版本的 o
  • openpyxl中如何进行列对齐?

    我试图在 openpyxl 中对齐列 但没有成功 wb Workbook ws wb active ws column dimensions A alignment Alignment horizontal left ws column d
  • 如何将列表写入Excel列?

    我有一个 Python 中的一些值的列表 想使用 openpyxl 将它们写入 Excel 电子表格列 到目前为止我尝试过 在哪里lstStat是需要写入 Excel 列的整数列表 for statN in lstStat for line
  • 使用 openpyxl 对 Excel 进行排序和自动过滤

    我正在尝试使用 openpyxl 和 Python 对电子表格进行排序 我已阅读文档 但不太明白这一页 我希望它添加自动过滤器下拉箭头或对我的电子表格进行排序 但它返回错误 这是我的代码 wb openpyxl load workbook
  • Excel 删除 Python 插入的有效公式

    我正在尝试使用 Python 生成 Excel xlsx 报告openpyxl 但有一个问题 Excel 不断从我的工作表中删除公式在一些特定的细胞中 我打印了正在插入的内容 它似乎绝对有效 如果我将其从控制台粘贴到单元格 它会显示确切的结
  • Openpyxl - 对象没有属性“load_workbook”

    我正在尝试使用 openpyxl 加载现有工作簿 但当我试图奔跑时这段代码 http packages python org openpyxl usage html read an existing workbook 我收到以下错误 Att
  • openpyxl - 在现有合并单元格的 Excel 文件中添加新行

    Before https i stack imgur com 20JFY png After https i stack imgur com 9d7m6 png 所以 我试图在 Excel 表中添加 6 行 我用过 openpyxl wor
  • Python3 openpyxl 将包含特定值的行中的数据复制到现有工作簿中的新工作表

    我正在尝试将其中包含特定值的行复制到新工作表中 在查看下面列出的参考资料时 我能够确定如何使用 ws append 进行复制 但这在脚本中无法正常运行 我想做的是迭代 wb 如果它具有特定值 则创建另一个工作表并将该行复制到该工作表 我将不
  • Openpyxl - 复制和粘贴数据时出现空行

    我编写了一个脚本 将数据从一个工作簿复制到另一个工作簿 我唯一的问题是数据之间添加了空单元格 谁能理解为什么 看起来脚本正在跳过不满足 if 语句条件的值 但仍然复制空白单元格 from openpyxl import load workb
  • 如何重命名 Excel 工作表?

    我有一个场景 我想更改电子表格中工作表的名称 我尝试使用创建电子表格ss Workbook 我认为这是用名为 Sheet 的工作表创建电子表格 我尝试使用以下格式更改工作表的名称 ss sheet ss get sheet by name
  • openpyxl+load_workbook+AttributeError:“NoneType”对象没有属性“date1904”

    当我使用 openpyxl 加载 Excel 文件 xlsx 时 显示此错误 最后一个链接是示例 Excel 文件 从 openpyxl 导入 wb load workbook D develop workspace exman 测试样本
  • python 中处理 Excel 文件的最佳库是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个很大的Excel 里面有很多工作表和工作表内相互链接的公式 我需要使用代码在一张纸中填充输入 并
  • 在Python中从Excel中获取文本框值

    我有一个 Excel 文件 data xlsx 以下模式 https i stack imgur com eYsW2 png我需要从该 Excel 文件内的文本框中读取一个值 我目前正在使用 pandas 库 并尝试获取该值 但不幸的是找不
  • 将公式写入Excel时出现Python错误

    我尝试遵循这个question https stackoverflow com questions 39195957 write formula to excel with python使用 python 和 openpyxl 包在我的 E
  • 如何在 openpyxl 进行更改时观察 Excel 文件更改

    我构建了一个 iOS 应用程序 它接受用户的输入 然后将其数据作为 csv 文件上传到 dropbox 现在 我想构建一个跨平台桌面应用程序 使用 openpyxl 和 Python dropbox api 来侦听这些 csv 上传 然后将
  • 有没有办法使用 openpyxl 或 xlsxwriter 保护工作簿?

    我正在尝试自动化 Excel 报告 并且我希望用户不要尝试重命名或重新排序工作表 虽然我使用 xlsxwriter 保护单个单元格没有问题 但我没有看到保护工作簿本身的选项 我正在寻找 openpyxl 但教程似乎没有任何效果 编辑 我现在
  • openpyxl:为一系列 Excel 单元格分配值或应用格式而不进行迭代

    我想应用特定格式或为一系列 Excel 单元格分配一个值 而不需要迭代每个单元格 我目前正在使用这个脚本 from openpyxl import Workbook from openpyxl styles import Font wb W

随机推荐