StringIO in Python3
when i write import StringIO it says there is no such module.
From What’s New In Python 3.0:
The
StringIO
andcStringIO
modules are gone. Instead, import theio
module and useio.StringIO
orio.BytesIO
for text and datarespectively.
.
A possibly useful method of fixing some Python 2 code to also work in Python 3 (caveat emptor):
try: from StringIO import StringIO ## for Python 2except ImportError: from io import StringIO ## for Python 3
Note: This example may be tangential to the main issue of the question and is included only as something to consider when generically addressing the missing
StringIO
module. For a more direct solution the messageTypeError: Can't convert 'bytes' object to str implicitly
, see this answer.
On Python 3 numpy.genfromtxt
expects a bytes stream. Use the following:
numpy.genfromtxt(io.BytesIO(x.encode()))