If you prepare your where
clause first, it should work (I use f-strings below):
for index, row in df.iterrows():
city_code = (row['city_ID'])
expr = f"city_ID={city_code}"
out = f"out_{city_code}"
grass.run_command('v.extract', overwrite=True, input='six_cities', output=out, where=expr)