Ethan, Thank you for this tip- you are correct that I saved the data as rich text. I remade the files in VI instead of TextEdit, which allowed me to write a true csv file and the script works as expected now.
Thanks again, Neil On Jul 13, 2011, at 2:17 PM, Ethan Furman wrote: > Neil Berg wrote: >> Hello all, >> >> I am having an issue with my attempts to accurately filter some data from a >> CSV file I am importing. I have attached both a sample of the CSV data and >> my script. >> >> The attached CSV file contains two rows and 27 columns of data. The first >> column is the station ID "BLS", the second column is the sensor number "4", >> the third column is the date, and the remaining 24 columns are hourly >> temperature readings. >> >> In my attached script, I read in row[3:] to extract just the temperatures, >> do a sanity check to make sure there are 24 values, remove any missing or >> "m" values, and then append the non-missing values into the "hour_list". >> >> Strangely the the first seven rows appear to be empty after reading into the >> CSV file, so that's what I had to incorporate the if len(temps) == 24 >> statement. >> >> But the real issue is that for days with no missing values, for example the >> second row of data, the length of the hour_list should be 24. My script, >> however, is returning 23. I think this is because the end-of-row-values >> have a trailing "\". This must mark these numbers as non-digits and are lost >> in my "isdig" filter line. I've tried several ways to remove this trailing >> "\", but to no success. >> >> Do you have any suggestions on how to fix this issue? >> >> Many thanks in advance, >> >> Neil Berg >> >> > Your 'csv' file isn't -- it looks like rich text. An actual csv file > looks more like this (which is probably what you're seeing in notepad, > but is not what is stored on disk): > > 8<------------------------------------------------------------------------------------ > BLS,4,19981101,37,m,36,34,36,35,34,34,35,36,38,39,43,42,42,42,38,36,34,32,33,33,35,34 > BLS,4,19981102,34,32,33,32,34,32,33,32,34,38,40,41,44,47,43,42,39,36,35,35,36,36,35,33 > 8<------------------------------------------------------------------------------------ > > Try saving in text-only format. > > ~Ethan~ -- http://mail.python.org/mailman/listinfo/python-list