Search code examples
pythonexceldictionaryxlrd

Convert columns of an Excel into dictionary in python


I have three columns in my excel file, i have to convert all the rows of the first two columns into a dictionary using xlrd.

Expected Output:

{'Sam' : 'Tester', 'John' : 'Developer', 'Fin' : 'Tester'}

screenshot of Excel file

for i in range(1, worksheet.nrows):
    row = worksheet.row_values(i)
    variable = row[0] + row[1]
    print(" {0} {1}".format(row[0],format(row[1])))
    print(variable)

The code prints the first two columns. How to convert to dictionary type?


Solution

  • First thing, dictionary are enclosed in {} not [] so the expected output should be {'Sam' : 'Tester', 'John' : 'Developer', 'Fin' : 'Tester'}

    This code should work for you:

    my_dict = {}
    for i in range(1, worksheet.nrows):
        row = worksheet.row_values(i)
        my_dict[row[0]] = row[1]
    
    print(my_dict)