Python: converta Unicode para ASCII sem erros para arquivo CSV

Eu tenho lido todas as perguntas sobre a conversão de Unicode para CSV em Python aqui no StackOverflow e ainda estou perdido. Sempre que eu recebo um "UnicodeEncodeError: o codec 'ascii' não pode codificar o caractere u '\ xd1' na posição 12: ordinal fora do intervalo (128)"

buffer=cStringIO.StringIO()
writer=csv.writer(buffer, csv.excel)
cr.execute(query, query_param)
while (1):
    row = cr.fetchone()
    writer.writerow([s.encode('ascii','ignore') for s in row])

O valor delinha é

(56, u"LIMPIADOR BA\xd1O 1'5 L")

onde o valor de \ xd10 no banco de dados é ñ, um n com um til diacrítico usado em espanhol. No começo, tentei converter o valor para algo válido em ascii, mas, depois de perder tanto tempo, estou tentando apenas ignorar esses caracteres (suponho que teria o mesmo problema com vogais acentuadas).

Gostaria de salvar o valor no CSV, de preferência com o ñ ("LIMPIADOR BAÑO 1'5 L"), mas se não for possível, pelo menos conseguir salvá-lo ("LIMPIADOR BAO 1'5 L").

questionAnswers(1)

yourAnswerToTheQuestion