Nur bestimmte Spalten einer Excel-Tabelle auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
BerndNeumann
User
Beiträge: 3
Registriert: Donnerstag 26. November 2020, 08:21

Hallo zusammen,

ich möchte gerne aus einer Excel-Tabelle, deren Form ich nicht ändern kann/soll Daten auslesen und sie in ein dictionary schreiben.
Grundlegend sollen die Überschriften der ersten Zeile in Excel als keys im dictionary gelten (eine Überschrift ist ein key) und die Spalten in Form eines arrays als values.
Hierbei möchte ich im Speziellen jeweils nur gerade Spalten auslesen (und somit die ungeraden Spalten ignorieren).

Dazu habe ich mir folgende Gedanken gemacht, dabei habe ich berücksichtigt, dass Python bei 0 anfängt und ich somit Werte für ungerade Spalten übergeben muss:

Code: Alles auswählen

import numpy as np
filename = "C:/test_sheet.xlsx"
book = xlrd.open_workbook(filename, encoding_override="uft-8")
sheet_Mappe1 = book.sheet_by_index(0)
array_header_keys=np.asarray([sheet_Mappe1.cell(0,i).value for i in range(0, sheet_Mappe1.ncols)])

dictionary_values = dict()
for i in range (0,len(array_header_keys)):
    dictionary_values[array_header_keys[i]]=np.asarray([sheet_Mappe1.cell(z,i*2-1).value for z in range(1, sheet_Mappe1.nrows)])
Nun erhalte ich die Fehlermeldung: "arrays index out of range" und weiß nicht genau, warum das array out of range sein soll.
Kann mir hier jemand helfen bitte?

Vielen Dank und liebe Grüße
Antworten