With header information in csv file, city can be grabbed as:
city = row[\'city\']
Now how to assume that csv file does not have headers, th
You can still use your line, if you declare the headers yourself, since you know it:
with open('data.csv') as f:
cf = csv.DictReader(f, fieldnames=['city'])
for row in cf:
print row['city']
For more information check csv.DictReader info in the docs.
Another option is to just use positional indexing, since you know there's only one column:
with open('data.csv') as f:
cf = csv.reader(f)
for row in cf:
print row[0]