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.