当前位置: 首页 > 面试题库 >

是否可以在不将整个文档加载到内存的情况下获取Excel文档的行数?

徐麒
2023-03-14
问题内容

我正在处理可处理大量Excel
2007文件的应用程序,并且正在使用OpenPyXL进行此操作。OpenPyXL有两种不同的读取Excel文件的方法:一种是将整个文档立即加载到内存中的“常规”方法,另一种是使用迭代器逐行读取的方法。

问题是,当我使用迭代器方法时,我没有得到任何文档元数据,例如列宽和行/列数,而我 确实
需要此数据。我假设此数据存储在顶部附近的Excel文档中,因此不必将整个10MB文件加载到内存中即可访问它。

因此,有没有一种方法可以在不先将整个文档加载到内存的情况下掌握行/列的数量和列的宽度?


问题答案:

除了Hubro所说的,显然get_highest_row()已经过时了。使用max_rowmax_column属性返回行数和列数。例如:

    wb = load_workbook(path, use_iterators=True)
    sheet = wb.worksheets[0]

    row_count = sheet.max_row
    column_count = sheet.max_column


 类似资料:
  • 问题内容: 我正在使用嵌套对象(与该帖子相关的用户)为一组文档建立索引(将它们想象为论坛帖子)。我的问题是用户字段可能已更新,但是由于帖子未更改,因此它们未重新索引,并且用户嵌套的对象已过时。有没有一种方法可以更新嵌套对象,而无需再次为整个文档重新编制索引?还是唯一的解决方案是在用户每次更改时重新索引该用户的所有相关帖子? 问题答案: 您可以使用Update API。 需要注意的是更新脚本支持条件

  • 问题内容: 这是我遇到的一些困难。我有一个本地客户端脚本,该脚本需要允许用户获取远程网页并在结果页面中搜索表单。为了做到这一点(不使用正则表达式),我需要将文档解析为一个完全可遍历的DOM对象。 我想强调一些限制: 我不想使用库(如jQuery)。我在这里要做的事情太多了。 在任何情况下都不应执行远程页面中的脚本(出于安全原因)。 诸如的DOM API 必须可用。 它仅需要在Internet Ex

  • 问题内容: 我正在优化将约10TB数据导入MySQL数据库的过程。目前,我可以在当前笔记本电脑上约14分钟内导入2.9GB(+ 0.8GB索引)。该过程包括读取数据文件(Oracle“ .dat”导出),解析数据,将数据写入CSV文件并在其上执行“ LOAD DATA LOCAL” sql命令。 是否可以提高导入速度(无需更改硬件)?有没有一种方法可以删除将文件写入文件系统并让MySQL再次读取它

  • 问题内容: 我处理非常大的二进制文件(每个文件从几个GB到多个TB)。这些文件以旧格式存在,并且升级需要将标头写入文件的FRONT。我可以创建一个新文件并重写数据,但是有时这可能需要很长时间。我想知道是否有更快的方法来完成此升级。该平台仅限于Linux,我愿意使用低级功能(ASM,C,C ++)/文件系统技巧来实现这一目标。基本库是Java,JNI是完全可以接受的。 问题答案: 没有本机执行此操作

  • 问题内容: 我经常使用Scanner类来读取文件,因为它非常方便。 我的问题是,以上语句是否一次将整个文件加载到内存中?或者在fileScanner上进行后续调用,例如 从文件中读取(即从外部存储而不是从内存中读取)?我问是因为我担心如果文件太大而无法一次全部读入内存会发生什么。谢谢。 问题答案: 如果您阅读了源代码,则可以自己回答问题。 看来所讨论的Scanner构造函数的实现显示: 后者包装在

  • 据我所知,您可以通过以下方式使用PIL获取图像大小 但是,我希望获得图像的宽度和高度,而不必将图像加载到内存中。可能吗?我只做图像大小的统计,不关心图像内容。我只是想让我的处理速度更快。