help I'm getting delimited
John Machin
sjmachin at lexicon.net
Wed Dec 17 07:44:11 EST 2008
More information about the Python-list mailing list
Wed Dec 17 07:44:11 EST 2008
- Previous message (by thread): help I'm getting delimited
- Next message (by thread): help I'm getting delimited
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Dec 17, 9:39 pm, aka <alexoploca... at gmail.com> wrote: > Due to being in a hurry I didn't paste correctly (sorry). > > The intention is to put values of column 1 ("id") in the roles list, > therefore appending within the loop, to fill a session var. > > The complete code is: It's *not* complete. It's missing "import csv". > > roles = [] > inp = 'C:/temp/test.csv' > try: > fp = open(inp, 'rb') > reader = csv.reader(fp, dialect='excel', delimiter=';') > for r in reader: > roles.append(r) > ## ultimately should be something like r.id or r[0] > ## first row of csv file should be skipped because of column > names > > except: > msg = 'Something's wrong with the csv.reader' But you don't print the message! In any case, using the try/except like that *hides* any useful diagnostic information; it gives only an indication that something is wrong, but not what is wrong and where it is wrong. If you throw away the try/except, you will get a more meaningful message -- possibly that "csv" is not defined!! -- and the traceback will tell you in which line the error occured. > return dict(file=inp,roles=str(roles)) Why do you think that you need (a) that complicated expression (b) the str() call? Assuming you are intending to make a function out of all that, what's wrong with returning a (simple) tuple: return inp, roles ? The above 'return' statement is not inside a function/method. You would have got this message: SyntaxError: 'return' outside function People will very soon lose patience with you if you persist in not posting the actual code that you ran. > The roles list isn't populated at all :( This could mean (if the code that was posted is moderately similar to that which was run) that the error happened before the first time that roles.append(r) was executed ;-) Please divulge the contents of test.csv -- but not if it's huge! Considering trying to get your code to work first with a data file of close-to-minimal size and complexity, like this: 8<--- id,other_info tom,1 dick,2 harry,3 8<--- By the way, you mentioned the UnicodeReader class in your original post, but you don't seem to use it ...
- Previous message (by thread): help I'm getting delimited
- Next message (by thread): help I'm getting delimited
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list