2017-07-20 3 views
0

Ich versuche, eine Excel-Arbeitsmappe in ein dreidimensionales Array ([Arbeitsblatt] [Spalte] [Zelle]) zu lesen, aber ich bekomme einen Fehler mit openpyxl (v2.5.0a2), die aussieht Es widerspricht der Online-Dokumentation.AttributeError mit openpyx

Die Dokumentation für das Arbeitsblatt-Modul gibt eindeutig an, dass es ein "Spalten" -Attribut gibt (und ich habe Beispiele verwendet), aber ich bekomme ein "AttributeError: 'ReadOnlyWorksheet" -Objekt hat kein Attribut' Spalten '"Fehler.

Code unten, irgendwelche Hinweise?

# Load spreadsheet in read only mode 
wb = load_workbook(filename=input_file, read_only=True) 

# Three Dimensional array of every sheet, then every row, then every value 
cells_by_row=[[[cell.value for cell in row if cell.value is not None] for row in sheet.rows] for sheet in wb.worksheets] 

# Three Dimensional array of every sheet, then every column, then every value 
cells_by_column=[[[cell.value for cell in column if cell.value is not None] for column in sheet.columns] for sheet in wb.worksheets] 

Der Fehler wird auf der cells_by_column Linie erzeugt erzeugt und liest ...

Traceback (most recent call last): 
File "D:\Repositories\interpolator\rate_shape_map_interpolator.py", line 293, in <module> 
Result = interpolator(RailPressure, FuelQuantity, RPM, SOI, InputMap, InputMode, ImmediateSOI, Density) 
File "D:\Repositories\interpolator\rate_shape_map_interpolator.py", line 86, in interpolator 
cells_by_column=[[[cell.value for cell in column if cell.value is not None] for column in sheet.columns] for sheet in wb.worksheets] 
File "D:\Repositories\interpolator\rate_shape_map_interpolator.py", line 86, in <listcomp> 
cells_by_column=[[[cell.value for cell in column if cell.value is not None] for column in sheet.columns] for sheet in wb.worksheets] 
AttributeError: 'ReadOnlyWorksheet' object has no attribute 'columns' 
+0

[Bearbeiten] Ihre Frage und zeigen, wie Sie die Arbeitsmappe öffnen, und die vollständige Rückverfolgung. Der Fehler sagt Ihnen, es ReadOnly geöffnet: _ ** "AttributeError: 'ReadOnlyWorksheet' ** _ – stovfl

Antwort

0

es wurde gelöst, für die Zukunft es wie die ‚ReadOnlyWorksheet‘ Objekt sieht nicht ein enthält Attribut 'column' (was seltsam ist). Durch das Entfernen des Read-Only-Arguments in load_workbook wurde das Problem behoben.

Verwandte Themen