issue in using dictionary - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: issue in using dictionary (/thread-14301.html) |
issue in using dictionary - amar - Nov-23-2018 i have dictionary type, below is output when i read dataframe using json.loads (spark) {'name':'ename','data':'str','len':'2','add':'bgl','out':'y','zip':'3567','add/blr':'Y'} but i need output like below. {'ename':{'data':'str','len':'2','add':'bgl','out':'y','zip':'3567','add/blr':'Y'} the first element which is name not printed instead value of the name as( ename) should print as fieldkey and i have 20 rows in my file. for each row should print like this .. every row has different value for the name (key) kindly suggest how can i achieve this through dictionary . RE: issue in using dictionary - ODIS - Nov-23-2018 Hello amar, you can do it like this: lines = [ {'name':'ename','data':'str','len':'2','add':'bgl','out':'y','zip':'3567','add/blr':'Y'}, {'name':'another_name','data':'str','len':'2','add':'bgl','out':'y','zip':'3567','add/blr':'Y'} ] result = {} for line in lines: # extract the name from the line name = line["name"] # delete the name from the line del (line["name"]) # make the record in result result[name] = line print(result) RE: issue in using dictionary - amar - Nov-24-2018 (Nov-23-2018, 02:22 PM)ODIS Wrote: Hello amar, Hi, DO i need to convert dict to list again like below, coz there are many rows .. coz im reading csv to df and doing json.loads to get dict lines = [ {'name':'ename','data':'str','len':'2','add':'bgl','out':'y','zip':'3567','add/blr':'Y'}, {'name':'another_name','data':'str','len':'2','add':'bgl','out':'y','zip':'3567','add/blr':'Y'} ] RE: issue in using dictionary - ichabod801 - Nov-24-2018 If you want it that way, you can just create a new dict and append it to the list: result = [] for line in lines: name = line['name'] del line['name'] result.append({name: line}] RE: issue in using dictionary - amar - Nov-26-2018 getting error "string indices must be integers for the above code RE: issue in using dictionary - ODIS - Nov-26-2018 Can you post your current code including the file lines processing? |