write without index guardar from data create python pandas export-to-csv python-unicode

guardar - save dataframe to csv without index python



Unicode Encode Error al escribir pandas df en csv (2)

Limpié 400 archivos de Excel y los leí en python utilizando pandas y adjunté todos los datos en bruto en una gran df.

Entonces cuando intento exportarlo a un csv:

df.to_csv("path",header=True,index=False)

Me sale este error:

UnicodeEncodeError: ''ascii'' codec can''t encode character u''/xc7'' in position 20: ordinal not in range(128)

¿Puede alguien sugerir una manera de solucionar esto y lo que significa?

Gracias


Añadiendo una respuesta para ayudarme a buscarlo en google más tarde:

Un truco que me ayudó es codificar una serie problemática primero, luego decodificarla de nuevo a utf-8. Me gusta:

df[''crumbs''] = df[''crumbs''].map(lambda x: x.encode(''unicode-escape'').decode(''utf-8''))

Esto haría que el marco de datos se imprima correctamente también.


Tienes valores unicode en tu DataFrame. Los archivos almacenan bytes, lo que significa que todos los unicode deben codificarse en bytes antes de que puedan almacenarse en un archivo. Debe especificar una codificación, como utf-8 . Por ejemplo,

df.to_csv(''path'', header=True, index=False, encoding=''utf-8'')

Si no especifica una codificación, entonces la codificación utilizada por df.to_csv es ascii en Python2, o utf-8 en Python3.