Read printed numpy array Read printed numpy array numpy numpy

Read printed numpy array


You can use re to treat the string and then create the array using eval():

 import re from ast import literal_eval import numpy as np a = """[[[ 0 1]          [ 2 3]]]""" a = re.sub(r"([^[])\s+([^]])", r"\1, \2", a) a = np.array(literal_eval(a))


The other reply works great, but some shortcuts can be taken if the values are numeric. Furthermore, you may have an array with many dimension and even many orders. Given npstr, your str(np.array):

import re, jsonimport numpy as np# 1. replace those spaces and newlines with commas.# the regex could be '\s+', but numpy does not add spaces.t1 = re.sub('\s',',',npstr)# 2. covert to listt2 = json.loads(t1)# 3. convert to arraya = np.array(t2)

In a single line (bad form sure, but good for copypasting):

a = np.array(json.loads(re.sub('\s',',',npstr)))