Как я могу автоматически обрабатывать восходящие имена файлов и имена массивов в Numpy:
У меня есть серия файлов HDF5 с именем:
20120101.hdf5, 20120102.hdf5, 20120103.hdf5, ..., 20120130.hdf5, 20120131.hdf5
каждый файл hdf5 содержит несколько имен массивов:
array1, array2, array3, ..., array24
Я хочу изменить каждый из массивов отдельно, а затем создать соответствующие новые файлы hdf5. Например, используя 20120101.hdf5
:
import numpy
import tables
file = openFile("20120101.hdf5","r")
b1 = file.root.array1
c1 = (b1<=1)
new20120101_array1 = creatArray('/','1',c1)
c2 = ((b1<=2) and (b>1))
new20120101_array1 = creatArray('/','2',c2)
.
.
.
c20 = ((b1<=20) and (b>19))
new20120101_array1 = creatArray('/','20',c20)
и повторите это для массивов 2-24. В результате хочу иметь:
new20120101.hdf5 ---- new20120101_array1 ---- 1
2
...
20
---- new20120101_array2 ---- 1
...
20
...
---- new20120101_array24 --- 1
...
20
new20120102.hdf5
....
new20120131.hdf5
import tables
, то вам придется писать все функции из этого модуля какtables.function
. Если вы напишетеfile = openFile(...)
иnew = creatArray(...)
, это не сработает! Чтобы использовать код так, как вы его написали, вы должны вызвать модуль какfrom tables import openFile, creatArray
илиfrom tables import *
. - person carla   schedule 10.05.2012