Tom*_*Tom 9 python python-2.7 openpyxl
为什么openpyxl将每行和列维读取为None?无论表是通过openpyxl还是在Microsoft Excel中创建,都是如此.
import openpyxl
wb = openpyxl.load_workbook(r'C:\data\MyTable.xlsx')
ws = wb.active
print ws.row_dimensions[1].height
print ws.column_dimensions['A'].width
Run Code Online (Sandbox Code Playgroud)
打印无和无.这些不是隐藏的列/行.在Excel中查看时,它们显然具有尺寸.
我知道用迭代器加载工作簿将阻止创建维度字典,但这会导致键错误,我在这里不使用迭代器.
是否有另一种方法来确定单元格/行/列的宽度/高度?
===============解决方案=================
感谢Charlie,我意识到以下是获得所有行高的列表的最佳方法:
import openpyxl
wb = openpyxl.load_workbook(r'C:\Data\Test.xlsx')
ws = wb.active
rowHeights = [ws.row_dimensions[i+1].height for i in range(ws.max_row)]
rowHeights = [15 if rh is None else rh for rh in rowHeights]
Run Code Online (Sandbox Code Playgroud)
Cha*_*ark 16
RowDimensionColumnDimension只有在要覆盖默认值时才存在对象和对象.所以ws.row_dimensions[1].height总是会None被分配一个值.
默认值为: {'defaultRowHeight': '15', 'baseColWidth': '10'}
| 归档时间: |
|
| 查看次数: |
18046 次 |
| 最近记录: |