I have an array:
>>> data = np.ones((1,3,128))
I save it to file using savez_compressed
:
>>> with open('afile','w') as f: np.savez_compressed(f,data=data)
When I try to load it I don't seem to be able to access the data:
>>> with open('afile','r') as f: b=np.load(f) >>> b.files ['data'] >>> b['data'] Traceback (most recent call last): File "<pyshell#196>", line 1, in <module> b['data'] File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 238, in __getitem__ bytes = self.zip.read(key) File "C:\Python27\lib\zipfile.py", line 828, in read return self.open(name, "r", pwd).read() File "C:\Python27\lib\zipfile.py", line 853, in open zef_file.seek(zinfo.header_offset, 0) ValueError: I/O operation on closed file
Am I doing something obviously wrong?
EDIT
Following @Saullo Castro's answer I tried this:
>>> np.savez_compressed('afile.npz',data=data) >>> b=np.load('afile.npz') >>> b.files ['data'] >>> b['data']
and got the following error:
Traceback (most recent call last): File "<pyshell#253>", line 1, in <module> b['data'] File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 241, in __getitem__ return format.read_array(value) File "C:\Python27\lib\site-packages\numpy\lib\format.py", line 440, in read_array shape, fortran_order, dtype = read_array_header_1_0(fp) File "C:\Python27\lib\site-packages\numpy\lib\format.py", line 336, in read_array_header_1_0 d = safe_eval(header) File "C:\Python27\lib\site-packages\numpy\lib\utils.py", line 1156, in safe_eval ast = compiler.parse(source, mode="eval") File "C:\Python27\lib\compiler\transformer.py", line 53, in parse return Transformer().parseexpr(buf) File "C:\Python27\lib\compiler\transformer.py", line 132, in parseexpr return self.transform(parser.expr(text)) File "C:\Python27\lib\compiler\transformer.py", line 124, in transform return self.compile_node(tree) File "C:\Python27\lib\compiler\transformer.py", line 159, in compile_node return self.eval_input(node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 194, in eval_input return Expression(self.com_node(nodelist[0])) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 578, in testlist return self.com_binary(Tuple, nodelist) File "C:\Python27\lib\compiler\transformer.py", line 1082, in com_binary return self.lookup_node(n)(n[1:]) File "C:\Python27\lib\compiler\transformer.py", line 596, in test then = self.com_node(nodelist[0]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 610, in or_test return self.com_binary(Or, nodelist) File "C:\Python27\lib\compiler\transformer.py", line 1082, in com_binary return self.lookup_node(n)(n[1:]) File "C:\Python27\lib\compiler\transformer.py", line 615, in and_test return self.com_binary(And, nodelist) File "C:\Python27\lib\compiler\transformer.py", line 1082, in com_binary return self.lookup_node(n)(n[1:]) File "C:\Python27\lib\compiler\transformer.py", line 619, in not_test result = self.com_node(nodelist[-1]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 626, in comparison node = self.com_node(nodelist[0]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 659, in expr return self.com_binary(Bitor, nodelist) File "C:\Python27\lib\compiler\transformer.py", line 1082, in com_binary return self.lookup_node(n)(n[1:]) File "C:\Python27\lib\compiler\transformer.py", line 663, in xor_expr return self.com_binary(Bitxor, nodelist) File "C:\Python27\lib\compiler\transformer.py", line 1082, in com_binary return self.lookup_node(n)(n[1:]) File "C:\Python27\lib\compiler\transformer.py", line 667, in and_expr return self.com_binary(Bitand, nodelist) File "C:\Python27\lib\compiler\transformer.py", line 1082, in com_binary return self.lookup_node(n)(n[1:]) File "C:\Python27\lib\compiler\transformer.py", line 671, in shift_expr node = self.com_node(nodelist[0]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 683, in arith_expr node = self.com_node(nodelist[0]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 695, in term node = self.com_node(nodelist[0]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 715, in factor node = self.lookup_node(nodelist[-1])(nodelist[-1][1:]) File "C:\Python27\lib\compiler\transformer.py", line 727, in power node = self.com_node(nodelist[0]) File "C:\Python27\lib\compiler\transformer.py", line 805, in com_node return self._dispatch[node[0]](node[1:]) File "C:\Python27\lib\compiler\transformer.py", line 739, in atom return self._atom_dispatch[nodelist[0][0]](nodelist) File "C:\Python27\lib\compiler\transformer.py", line 754, in atom_lbrace return self.com_dictorsetmaker(nodelist[1]) File "C:\Python27\lib\compiler\transformer.py", line 1214, in com_dictorsetmaker assert nodelist[0] == symbol.dictorsetmaker AssertionError
EDIT 2
The above error was in IDLE. It worked using Ipython.
savez_compressed. Save several arrays into a single file in compressed .
To read CSV data into a record in a Numpy array you can use the Numpy library genfromtxt() function, In this function's parameter, you need to set the delimiter to a comma. The genfromtxt() function is used quite frequently to load data from text files in Python.
When using numpy.load
you can pass the file name, and if the extension is .npz
, it will first decompress the file:
np.savez_compressed('filename.npz', array1=array1, array2=array2) b = np.load('filename.npz')
and do b['array1']
and so forth to retrieve the data from each array...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With