Muy Buenas,
Os comento mi problema:
Tengo un dataset en excel que importo con pandas y me devuelve error codec ascii, desconozco el motivo por el que no corre sin problemas (antes de actualizar librerías si lo hacía me extrañaría que fuera ese el motivo).
He probado con encoding, itertools, decode para los nombres de las columnas.
f_i = "cnt_indices.xls"
# db = datos brutos corrientes:
d = pd.read_excel(f_i,
sheetname=0,
header=0,
has_index_names=True,
encoding="utf-8")
d.head(10)
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-50-90f6028e01ef> in <module>()
----> 1 d.head(10)
/usr/local/lib/python2.7/site-packages/IPython/core/displayhook.pyc in __call__(self, result)
236 self.write_format_data(format_dict, md_dict)
237 self.log_output(format_dict)
--> 238 self.finish_displayhook()
239
240 def cull_cache(self):
/usr/local/lib/python2.7/site-packages/IPython/kernel/zmq/displayhook.pyc in finish_displayhook(self)
70 sys.stderr.flush()
71 if self.msg['content']['data']:
---> 72 self.session.send(self.pub_socket, self.msg, ident=self.topic)
73 self.msg = None
74
/usr/local/lib/python2.7/site-packages/IPython/kernel/zmq/session.pyc in send(self, stream, msg_or_type, content, parent, ident, buffers, track, header, metadata)
647 if self.adapt_version:
648 msg = adapt(msg, self.adapt_version)
--> 649 to_send = self.serialize(msg, ident)
650 to_send.extend(buffers)
651 longest = max([ len(s) for s in to_send ])
/usr/local/lib/python2.7/site-packages/IPython/kernel/zmq/session.pyc in serialize(self, msg, ident)
551 content = self.none
552 elif isinstance(content, dict):
--> 553 content = self.pack(content)
554 elif isinstance(content, bytes):
555 # content is already packed, as in a relayed message
/usr/local/lib/python2.7/site-packages/IPython/kernel/zmq/session.pyc in <lambda>(obj)
83 # disallow nan, because it's not actually valid JSON
84 json_packer = lambda obj: jsonapi.dumps(obj, default=date_default,
---> 85 ensure_ascii=False, allow_nan=False,
86 )
87 json_unpacker = lambda s: jsonapi.loads(s)
/usr/local/lib/python2.7/site-packages/zmq/utils/jsonapi.pyc in dumps(o, **kwargs)
38 kwargs['separators'] = (',', ':')
39
---> 40 s = jsonmod.dumps(o, **kwargs)
41
42 if isinstance(s, unicode):
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.pyc in dumps(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, encoding, default, sort_keys, **kw)
248 check_circular=check_circular, allow_nan=allow_nan, indent=indent,
249 separators=separators, encoding=encoding, default=default,
--> 250 sort_keys=sort_keys, **kw).encode(obj)
251
252
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/encoder.pyc in encode(self, o)
208 if not isinstance(chunks, (list, tuple)):
209 chunks = list(chunks)
--> 210 return ''.join(chunks)
211
212 def iterencode(self, o, _one_shot=False):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3389: ordinal not in range(128)