Cargue el file de Excel en el dictionary en Python

Estoy tratando de escribir un progtwig que cargue un file Excel en un dictionary en Python. Tengo problemas para tratar de averiguar cómo proceder. Sé cómo cargar un único valor en una key, pero este file tiene más de un valor asignado a cada tecla. ¿Cómo sería el código para esto? Digamos que todo en la columna A del file Excel es un nombre, y todo en las columnas B, C y D pertenece a cada nombre en A. Quiero que A sea la key y B, C y D sean los valores.

De su descripción, el siguiente código funcionaría:

 import csv # Result dictionary result = {} # Open the file in Universal mode with open('Fruit.csv', 'rU') as f: # Get the CSV reader and skip header reader = csv.reader(f) reader.next() for row in reader: #First column is the key, the rest is value result[row[0]] = row[1:] 

ACTUALIZADO: Si necesita verificar el resultado de ejecución, reemplace el bloque por esto:

  for row in reader: #First column is the key, the rest is value result[row[0]] = row[1:] # Print row print row # Print result print row[0], ':', result[row[0]] 

Creo que los siguientes pasos harán este trabajo:

  1. abrir MS excel.
  2. lea los nombres de las columnas en el file Excel, ya que puede leer los datos en esa columna, supongo que lo que realmente necesita es el índice de esa columna.
  3. tratar el valor en la primera columna (supongo que debería ser 'A') como key y otras columnas como valor (por cierto, 'A' no necesita ser la primera columna, ya que podría search en la fila de Excel).

Para el paso 1, puede get ayuda de xlrd

Para el paso 2, consulte el siguiente código:

  # read excel and get appropriate sheet rb = xlrd.open_workbook(filename, on_demand=True, formatting_info=True) my_sheet = rb.sheet_by_name(u'template name') # get column names in item_list item_list = my_sheet.row_values(1) nrows = my_sheet.rows ncolumns = my_sheet.columns key_index = item_list.index('A') value_index = item_list.index('B') # of course 'C' and 'D' if needed 

Para el paso 3, puede usar el índice para get valor en cada fila

  for row in nrows: key = my_sheet[row][key_index] .... 

Por favor, vea mi aplicación si es necesario, no es lo mismo, pero tal vez esté relacionado con el uso de Python Excel, espero que sea útil.