On 2/19/2015 1:19 PM, Chris Stinemetz wrote:
Hello List,

I have a dictionary that I would like to update/add rows to it as I read a
file line by line.

The dictionary format looks like:

format = {'Cell': '','7':'','8':'','9':'','2':''}

For each line read in I would simply like to check to see if a Cell
key;value exists and if it does update the correct key==band(7,8,9,2)
within the dictionary.

If the Cell doesn't exist do the same thing as above only make sure to
update the Cell key:value with it's value form the file so it can check to
see if it exists later. There are duplicate Cell:values in the file so when
there is a duplicate it will need to look at band to see what key:value to
update.

Below is what I have attempted thus far. I can provide sample data if
needed.

Thank you in advance.

I've added comments interspersed below as I try to grok what you've got here...


import datetime

don't need this as you replace the value below...

import string
import pprint
from datetime import datetime

''' here.


# Open a files for reading
inFileOne = open('PRB_utilization.txt', "r")

iDas = "DB"
oDas = "D"

suffix = (iDas,oDas)

dict = {'Cell': '','7':'','8':'','9':'','2':''}

it's not good form to shadow python types

for line in inFileOne.readlines():
     index = line.rstrip("\n").split("\t")

you now have a list of string values...


     cell = index[1]

     if cell.endswith(suffix, 14, 16) is False:

... so they'll never end with numeric values. Further, "".endswith() accepts only one argument so you ought to get an error on this line.

         eNb = cell[0:8]
         sector = cell[10:11]
         band = cell[9:10]
         dl_prb_utl = index[60]
         site = eNb + "_" + sector

         if site in dict:

this tests if site is a valid key in dict -- but the only key value you've assigned to if 'Cell' so this will always be False...


             dict['Cell'] = site
             dict[band] = dl_prb_utl
         else:

... and the following will always execute.

             dict['Cell'] = site
             dict[band] = dl_prb_utl

inFileOne.close();

Perhaps if you provide a sample of what the contents of inFileOne look like and what you want dict to look like after each iteration we'd get a better idea of what you're trying to accomplish. As it is, it'd likely take someone who recognizes the problem domain to shed light on this.

Emile


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to