gpt4 book ai didi

python - 使用 Openpyxl 读取包含 DataValidation 的 excel 文件需要更多时间

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:44 25 4
gpt4 key购买 nike

使用 openpyxl 在读/写模式下加载带有数据验证的 MS Excel 工作簿时,所消耗的时间比加载没有 DV 的工作簿要高得多。随着 DV 的增多,消耗的时间呈指数级增长,有时我也会遇到 MemoryError。

以下示例解释了时间消耗(以秒为单位):

  1. 没有数据验证 - sample_nodv.xlsx

    python -c "从时间导入时间;从 openpyxl.reader.excel 导入 load_workbook; st = time(); load_workbook('sample_nodv.xlsx'); print(time()-st)"
    输出:0.004000425338745117

  2. 具有数据验证 - sample_dv.xlsx

    python -c "从时间导入时间;从 openpyxl.reader.excel 导入 load_workbook; st = time(); load_workbook('sample_dv.xlsx'); print(time()-st)"
    输出:4.132413148880005

我想使用openpyxl并以RW模式加载xlsx文件,同时减少消耗的时间。我不想使用 win32com,因为我希望解决方案独立于操作系统。

注意:

  • 使用 DV 保存工作簿也会消耗更多时间。
  • 我使用 python 3.5.2 和 openpyxl 2.4.9。

最佳答案

这是应用于整个列的验证器的一个已知问题。请参阅https://bitbucket.org/openpyxl/openpyxl/issues/837了解更多信息。 openpyxl 版本 2.5b1 包含对此的修复。

关于python - 使用 Openpyxl 读取包含 DataValidation 的 excel 文件需要更多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47507655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com