我想使用 win32com
为 python
扫描 excel 工作表单元格,并保存单元格位置及其值的字典。
有没有一种有效的扫描纸张的方法?意思是,扫描尽可能少的单元格,但仍然扫描所有具有数据/值的单元格,并忽略远处的单元格。
我以前用过openpyxl
,它有一个self.max_row
和self.max_column
参数给每个sheet。是否有类似的参数或计算它们的好方法?
最佳答案
尝试这样的事情怎么样......
end_row = ActiveSheet.UsedRange.Rows.Count
end_column = ActiveSheet.UsedRange.Columns.Count
如果您计划通过的范围非常大,我建议 尝试通过采取 一次将一系列单元格转换为 Python。
我记录了前一段时间遇到的一些事情 here .
我之前写作的主要技巧:
# Take many values at once rather than reading each individually
end_num = sh.UsedRange.Rows.Count
col_a = sh.Range(xl.Cells(1, 1), xl.Cells(end_num, 1)).Value
# The magic numbers to turn calculation on and off
xlCalculationManual = -4135
xlCalculationAutomatic = -4105
# Turn calculation to manual
xl.Calculation = xlCalculationManual
# Turn screen updating off
xl.ScreenUpdating = False
# RUN YOUR CODE HERE #
# Turn things back on when done
xl.ScreenUpdating = True
xl.Calculation = xlCalculationAutomatic
关于python - 如何扫描所有工作表单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34492322/