gpt4 book ai didi

python - 如何使用 openpyxl 确定 Excel 工作表是否不包含任何值?

转载 作者:行者123 更新时间:2023-12-01 01:16:58 24 4
gpt4 key购买 nike

我正在编写一个 Python 3.7.2 脚本来检查 Excel 文件中未使用的工作表,并且我需要一种方法来确定当前工作表是否不包含任何值。以前,当我在 VBA 中编码时,我会找到上次使用的行和上次使用的列来检查工作表是否为“空”,但是 openpyxl 中的 max_column 和 max_row 函数会考虑非值数据,例如格式化我想忽略。有什么方法可以检查给定工作表的单元格是否不包含任何值?

以前,当我在 VBA 中编码时,我会找到上次使用的行和上次使用的列来检查工作表是否为“空”,但是 openpyxl 中的 max_column 和 max_row 函数会考虑非值数据就像我想忽略的格式。

理想情况下,我能够找到一种方法来获取last_used_column和last_used_row,就像我以前在VBA中所做的那样,但如果有人能告诉我可以用来构建一个简单函数的任何工具,我将不胜感激。向它传递一个工作表,它会根据它是否没有值输出 True 或 False。

最佳答案

与我在评论中的建议相反,ws.get_cell_collection() 已弃用,但您可以迭代 openpyxl.worksheet.worksheet 模块的 values属性,因为(来自文档):

values
Produces all cell values in the worksheet, by row

Type: generator

对于包含两个工作表的工作簿 workbook.xlsxSheet1 确实包含一些带有值的单元格,但 Sheet2 显然是空的,并且全部为空细胞:

wb = load_workbook('workbook.xlsx')

for name in wb.get_sheet_names():
isempty = False
for row in wb.get_sheet_by_name(name).values:
if all(value == None for value in row):
isempty = True
else:
isempty = False
if isempty:
print(name)

输出空表:

Sheet2

虽然这有效,但比仅使用要复杂一点:

empty_sheets = [name for name in wb.get_sheet_names() if not (wb.get_sheet_by_name(name).get_cell_collection())] 

尽管已弃用,但仍然有效。

关于python - 如何使用 openpyxl 确定 Excel 工作表是否不包含任何值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54246289/

24 4 0
文章推荐: javascript - DataTables 函数 - table.row.add ,不使用表内的按钮(javascript)
文章推荐: jquery - 在 jQuery 中的空