通过openpyxl中的单元格集合进行排序

时间:2013-09-04 20:25:31

标签: python excel openpyxl

我正在阅读xlsx文件,就像这样,

import openpyxl
book = openpyxl.load_workbook('test.xlsx')
sheet = book.get_sheet_by_name(sheets['DATA'])
allCells = sheet.get_cell_collection()
print allCells

allCells是openpyxl.cell.Cell对象的无序列表。 allCells看起来像,

[<Cell Data.B4>, <Cell Data.A6>, <Cell Data.B6>, <Cell Data.A1>, <Cell Data.B5>, <Cell Data.A3>, <Cell Data.A2>, <Cell Data.A5>, <Cell Data.B1>, <Cell Data.B2>]

我想按列排序此列表,然后按行索引排序。关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:1)

您可以获取列表中每个单元格的行和列信息,如下所示:

import openpyxl
wb = openpyxl.workbook.Workbook()
ws = wb.worksheets[0]
a=ws.cell('D6')
a.row
6
a.column
'D'

现在根据您想要的任何标准对该批次进行分类只是一个问题。 Here's用于排序的不同算法列表。这个post描述了如何根据对象的属性对列表进行排序。问题是什么?我会相应地编辑答案。