Previous topic

Kiel dividi PDF dosieron

Next topic

Diversaj tekstoj

Kiel konservi Pitonajn datenojn en HDF5 dosieroj

Se oni uzas Pitonon, oni devas foje konservi multan datenon. Unu el eblecoj estas uzi pyTables kiuj utiligas tiucele HDF5 dosierojn. Bedaŭrinde, la gvidlibro de pyTables ne estas banala rilate al simpla konservado de Pitonaj datenoj kiel ekz. listoj kaj opoj. Tial oni povas tie ĉi legi la simplan respondon al la titola temo.

  1. Funkciigu interpretilon de Pitono (ekz. IDLE)

  2. kaj en ĝi skribu (nur tion, kio estas post la >>>). Atentu la usklecon!

    >>> import tables
    

    Kio ebligas uzadon de HDF5 dosieroj.

    >>> dosiero = tables.openFile('vtabelo1.h5', mode='w')
    

    kio kreas dosieron vtabelo1.h5 en kiu oni konservos la tabelojn kun datenoj.

    Attention

    Se la dosiero jam ekzistas, ĝi estos anstataŭigita per la nova.

    Nun estas jam tempo krei tabelon en kiu oni konservos la datenojn. Tie ĉi oni uzu la tabelo kun variebla longo (VL signifas tie ĉi: Variable Length).

    >>> vtabelo = dosiero.createVLArray(dosiero.root, 'tabelo', tables.ObjectAtom(), 'testa tabelo')
    

    Note

    Oni uzu prefere nomojn de tabeloj (tiu parto en ‘tabelo’) sen spacetoj kaj komencantajn per litero - tiam oni povos ĝin uzi kiel nomon de objekto. Fakte, la Pitono mem prizorgas pri ĝusta difino de konservata objekto. Por tio, ĝi uzas modulon cPickle.

  3. Por aldoni la datenon (ekz. liston aŭ opon), oni simple uzu metodon append de la kreita tabelo:

    >>> vtabelo.append(['a', 1, 'ccc'])
    

    Oni povas aldonadi elementojn de diversaj longecoj:

    >>> enum = ['T0', 'T1', 'T2', 333]
    >>> vtabelo.append(enum)
    
  4. Nun oni povas legi la datenojn:

    >>> for i in vtabelo:
        print i
    
    ['a', 1, 'ccc']
    ['T0', 'T1', 'T2', 333]
    
  5. Konservu ĉiujn ŝanĝojn en la dosiero:

    >>> dosiero.flush()
    
  6. kaj fermu ĝin antaŭ fini la skripton:

    >>> dosiero.close()