I have a multipolygon shapefile representing different cities. I am trying to loop the "v.extract" GRASS command through the different polygons via the Python interface. This is the code I am using: ``` for index, row in df.iterrows(): city_code = (row['city_ID']) grass.run_command('v.extract', overwrite=True, input='six_cities', output= 'out' + city_code, where= 'city_ID' + "=" + city_code) ``` Where **df** is the df version of the attribute table. However, I always get the module error. I believe this is due to the "**where**" condition, as I tried to do it without the loop and it works (code below): ``` grass.run_command('v.extract', overwrite=True, input='six_cities', output= 'out' + city_code, where= " 'city_ID' = 'CH_CH6421' ") ``` It seems that in order to run, the "where" condition needs to be within quotes. However, I cannot run the loop within quotes, because in this way python recognizes the city_code keyword needed for the loop as a string.