Replace key values in a python csv Dictreader object -


i trying replace "1" values in spreadsheet "0". workflow reasons read data in csv dictreader object. confused data type , quite code work. here input:

>>> print inreader [{'person1': '1', 'person2': '1', 'gene': 'test1', 'person4': '1', 'person3': '1'}, {'person1': '1', 'person2': '0', 'gene': 'test2', 'person4': '0', 'person3': '0'}, {'person1': '1', 'person2': '0', 'gene': 'test3', 'person4': '0', 'person3': '1'}, {'person1': '0', 'person2': '0', 'gene': 'test4', 'person4': '0', 'person3': '0'}, {'person1': '-', 'person2': '0', 'gene': 'test5', 'person4': '-', 'person3': '0'}, {'person1': '2', 'person2': '1', 'gene': 'test9', 'person4': '2', 'person3': '1'}] 

the following code update values appropriately, can't figure out how update entire dictreader object according these rules.

>>>for line in inreader: >>>    newline = [v.replace('1', '0') k,v in line.items() ] >>>    print newline  ['0', '0', 'test0', '0', '0'] ['0', '0', 'test2', '0', '0'] ['0', '0', 'test3', '0', '0'] ['0', '0', 'test4', '0', '0'] ['-', '0', 'test5', '-', '0'] ['2', '0', 'test9', '2', '0'] 

i ideally create new "inreader" object with values above replacing original values.

inreader = [{'person1': '1', 'person2': '1', 'gene': 'test1', 'person4': '1', 'person3': '1'}, {'person1': '1', 'person2': '0', 'gene': 'test2', 'person4': '0', 'person3': '0'}, {'person1': '1', 'person2': '0', 'gene': 'test3', 'person4': '0', 'person3': '1'}, {'person1': '0', 'person2': '0', 'gene': 'test4', 'person4': '0', 'person3': '0'}, {'person1': '-', 'person2': '0', 'gene': 'test5', 'person4': '-', 'person3': '0'}, {'person1': '2', 'person2': '1', 'gene': 'test9', 'person4': '2', 'person3': '1'}] result = [] line in inreader:     newline = dict([(k,v.replace('1', '0')) k,v in line.items() ])     result.append(newline)  print result 

the result is

[{'person2': '0', 'person3': '0', 'person1': '0', 'person4': '0', 'gene': 'test0'}, {'person2': '0', 'person3': '0', 'person1': '0', 'person4': '0', 'gene': 'test2'}, {'person2': '0', 'person3': '0', 'person1': '0', 'person4': '0', 'gene': 'test3'}, {'person2': '0', 'person3': '0', 'person1': '0', 'person4': '0', 'gene': 'test4'}, {'person2': '0', 'person3': '0', 'person1': '-', 'person4': '-', 'gene': 'test5'}, {'person2': '0', 'person3': '0', 'person1': '2', 'person4': '2', 'gene': 'test9'}] 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -