title: Iterating rows and columns using XLRD in Python
body: <p>I'm using python xlrd module to parse an Excel file. Here is how the excel file looks like:</p>
  
  <pre><code>Title           A   B   C
  attribute 1     1   2   3
  attribute 2     4   5   6
  attribute 3     7   8   9
  </code></pre>
  
  <p>And I want the output in the following format:</p>
  
  <pre><code>[
      {
          "name": "A",
          "attribute1": {
              "value": 1
          },
          "attribute2": {
              "value": 4
          },
          "attribute3": {
              "value": 7
          }       
      },
      {
          "name": "B",
          "attribute1": {
              "value": 2
          },
          "attribute2": {
              "value": 5
          },
          "attribute3": {
              "value": 8
          }   
      },
      {
          "name": "C",
          "attribute1": {
              "value": 3
          },
          "attribute2": {
              "value": 6
          },
          "attribute3": {
              "value": 9
          }       
      }       
  ]
  </code></pre>
  
  <p>I have tried the following but can't figure out how to create the output in the above format. Would appreciate any help on this!</p>
  
  <pre><code>from xlrd import open_workbook
  
  wb = open_workbook('D:\abc_Template.xlsx', 'r')
  
  wb_sheet = wb.sheet_by_index(0)
  
  values = []
  
  for row_idx in range(7, wb_sheet.nrows):
      col_value = []
      rowval = str((wb_sheet.cell(row_idx, 1)))
  
      for col_idx in range(1, 5):
          if(col_idx != 2 and col_idx != 1):
              cellVal = wb_sheet.cell(row_idx, col_idx)
              cellObj = {rowval: {"value" : cellVal}}
              col_value.append(cellObj)
  
      values.append(col_value)
  
  print values
  </code></pre>