Es scheint so, als ob Sie einen Bereich in Zeilen aufteilen und die Zellenwerte jeder Zeile in einem Tupel oder einer Liste speichern möchten. Es gibt zwei Methoden, die für diese saubere und leicht sind:
Annahmen:
ws: Arbeitsblatt zum Beispiel ws=wb['Sheet1']
rng: jeder Bereich in WS z. rng=ws['A1':'D10']
oder rng=ws['A1':'D' + str(ws.max_column)]
Methode 1:
t=tuple(rng)
dies wird ein Tupel zurückgeben, die Tupeln jeder Reihe enthält. In diesem Beispiel hat t also 10 Tupel und jedes innere Tupel hat 4 Elemente/Werte.
Methode 2:
final_list=[]
for row in rng:
mylist=list(row)
final_list.append(mylist)
dies so ziemlich das gleiche, außer anstelle von Tupeln, die Sie Listen haben würde.
HINWEIS:
Liste von Listen oder Tupel von Tupeln speichert cells
und ihre Werte nicht, so dass ihr Wert zuzugreifen dies zu tun:
first_cell_value=t[0][0].value
Einzelzellenzugriffs Beispiel für A1: 'ws .cell (Zeile = 1, Spalte = 1) .value = 'test'' – Aralox