textiowrapper python3 py3 instalar fileio python python-2.7 stringio

python3 - ¿Cómo puedo resolver TypeError con StringIO en Python 2.7?



stringio ruby (2)

Intentando leer la siguiente cadena como archivo usando StringIO pero obteniendo el siguiente error. ¿Cómo puedo resolverlo?

>> from io import StringIO >>> >>> datastring = StringIO("""/ ... Country Metric 2011 2012 2013 2014 ... USA GDP 7 4 0 2 ... USA Pop. 2 3 0 3 ... GB GDP 8 7 0 7 ... GB Pop. 2 6 0 0 ... FR GDP 5 0 0 1 ... FR Pop. 1 1 0 5 ... """) Traceback (most recent call last): File "<stdin>", line 9, in <module> TypeError: initial_value must be unicode or None, not str


Más bien uso (soluciona este problema exacto para mí):

from StringIO import StringIO


Puede resolver el error simplemente agregando au antes de su cadena para hacer que la cadena sea unicode:

datastring = StringIO(u"""/ Country Metric 2011 2012 2013 2014 USA GDP 7 4 0 2 USA Pop. 2 3 0 3 GB GDP 8 7 0 7 GB Pop. 2 6 0 0 FR GDP 5 0 0 1 FR Pop. 1 1 0 5 """)

Su valor inicial debe ser Unicode .