Dictionary error

Steven D'Aprano steve+comp.lang.python at pearwood.info
Tue Nov 25 06:30:31 EST 2014


Thuruv V wrote:

> Please Clarify the 'TypeError: zip argument #1 must support iteration'

Try it at the interactive interpreter:

py> zip('abc', [1, 2, 3])  # works fine
[('a', 1), ('b', 2), ('c', 3)]


But:

py> zip(1000, [1, 2, 3])  # fails
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: zip argument #1 must support iteration


So the first argument to zip is not a string or a list, it is something like
an int, or None, or a boolean flag. You'll need to inspect the argument to
see what it is.


> import openpyxl
> 
> book = openpyxl.load_workbook('c:/users/c_thv/desktop/tax.xlsx')
> sheet = book.get_sheet_by_name('Thilip')
> cell = sheet.cell(row=2,column = 4)
> i = 2
> x = []
> y = []while i < 10:
>    keys = sheet.cell(row=i,column = 4)

Insert a line here:

    print keys, type(keys)


and see what it prints.


>    values = sheet.cell(row = i,column = 5)
>    x.append(keys.value)
>    y.append(values.value)
>    i +=1
>    mydict = dict(zip(keys,values)print mydict



-- 
Steven




More information about the Python-list mailing list