2017-02-13 34 views
-1

使用OpenPyXL模塊與Python 3.5,我能找出多少列有一個電子表格:如何使用OpenPyXL在Excel電子表格中列出所有第一行值?

In [1]: sheet.max_column 
Out [1]: 4 

然後,我能與列出每個4個單元格的值:

In [2]: for rowOfCellObjects in sheet['A1':'D1']: 
      for cellObj in rowOfCellObjects: 
       print(cellObj.coordinate, cellObj.value) 
Out [2]: A1 Dog, B1 Cat, C1 Hamster, D1 Bigger Dog 

但是有沒有辦法跳過第一步,並簡單列出x的列數?

如果我不知道有多少列,我就不知道要重複執行['A1':'D1]。如果有200列,那麼在['A1']之後計算第200個字母/數字將是時間浪費。

+0

這是覆蓋在文檔中:https://openpyxl.readthedocs.io/en/latest/tutorial。 HTML#訪問一對多細胞 –

回答

0

編輯你的示例以獲得你想要的。但不建議這樣做!以下樣本

for rowOfCellObjects in sheet['A1':sheet.cell(row=1, column=sheet.max_column).coordinate]: 
     for cellObj in rowOfCellObjects: 
      print(cellObj.coordinate, cellObj.value) 

使用一個:

Sampel1:Iter項目每行中的所有列,第一行後打破。

for rows in ws.rows: 
    for cell in rows: 
     print('cell %s %s' % (cell.coordinate,cell.value)) 
    break 

更多programatical控制:

樣品2:僅由最小/ MAX_ROW參數給出的行迭代的所有列,一列後 結束。

參數min/max_row可以指向任何行,即使在數據之外也是如此。

for rows in ws.iter_rows(min_row=1, max_row=1, min_col=1): 
    for cell in rows: 
     print('cell %s %s' % (cell.coordinate,cell.value)) 

*使用Python測試:3.4.2 - openpyxl:2.4.1 *

1

如果您需要遍歷文件的所有行或列,則可以改爲使用openpyxl.worksheet.Worksheet.rows()屬性或openpyxl.worksheet.Worksheet.columns()屬性。

請參閱Manipulating a workbook in memory

相關問題