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