On Tue, Jan 27, 2015 at 5:04 AM, Tammy Miller <tgmill...@hotmail.com> wrote: > I have a csv file. I would like to create a filter or if statement on a > column but it is not producing the right results. It displays everythingHere > is the example:import csvwith open('test.csv') as csvfile: reader = > csv.DictReader(csvfile)for row in reader: if row['Absent'] > 10 print > rowI just want the column Absent to show me all of the numbers that are > greater than 10. It gives me all the results. I am not sure what to do.
Hi Tammy, Ah. Take a look at the following: ######################## >>> 'foo' > 10 True ######################## Waaaaaa? What does it even mean to compare a string to a number? It turns out that Python's comparison operator decides that if we're comparing a string vs a number, the string is "bigger", regardless of its content. (Reference: https://docs.python.org/2/library/stdtypes.html#comparisons.) Now take a look at this: ######################## >>> '10' > 10 True ######################## Waaaaaaa? But yes, it's doing this for the same reasons as before: a string is just bigger than a number. In your code, you are comparing a string (an element of your CSV row) with a number. Hope this helps! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor