2016-07-18 13 views
0

In xlrd und xlwt die Zeilen eines Blattes auf ein Array anhängen ich tun kann:Was ist die äquivalente Funktion in openpyxl?

Stuff = [] 

column_count = sheet.ncols - 1 

for i in range (0, column_count): 
    Stuff.append([sheet.cell_value(row, i) for row in range(sheet.nrows)]) 

Wie mache ich das Äquivalent in openpyxl?

+0

Was möchten Sie tun? –

+0

Fügen Sie alles von einem Blatt zu einem anderen Blatt an. –

+0

Bitte bearbeiten Sie die Frage, um deutlicher zu machen, was Sie tun möchten. Das Durchschleifen eines Arbeitsblatts und das Kopieren der Zellenwerte in einen anderen ist in openpyx einfach möglich. –

Antwort

2

Sie durch die Reihen von einem Arbeitsblatt laufen kann:

stuff = [[cell.value for cell in row] for row in sheet] 

Oder, wenn Sie lieber Gruppe durch Spalten, .columns verwenden:

stuff = [[cell.value for cell in column] for column in sheet.columns] 

Die Spalten Eigenschaft ist für Lese nicht verfügbar - Nur Arbeitsblätter, da Daten in Zeilen gespeichert sind.

+0

Wie würde ich dieses Array an ein Excel-Dokument in openpyxl anhängen? –

+0

@nickm gibt es diese 'sheet.append()' Methode, die Ihnen helfen könnte, es leicht zu machen. Es würde ein Array von Werten an das Ende des Blattes anhängen. Versuch es. Vielen Dank. – alecxe

+1

Tatsächlich sind Blätter direkt iterierbar und openpyxl 2.4 stellt auch eine '.values' Eigenschaft zur Verfügung. 'für Zeile im Blatt' oder' für Zeile im Blatt.Werte' –