Ich versuche, die Speicherung von Pandas DataFrames im HDF5-Format zu lernen.HDF5-Datei von einem anderen Skript lesen
I Pandas 0.17.1 auf Python 3.4.3
In zwei Jupiter Notebooks auf dem gleiche Verzeichnis verwenden, in hdf5_write.ipynb
ich habe:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(100,120).reshape(5,4),index=[10,11,12,13,14],columns=[20,21,22,23])
df
storew = pd.HDFStore('test.h5')
storew['df'] = df
storew
storer = pd.HDFStore('test.h5')
df2 = storer['df']
df2
jedoch im Skript hdf5_read.ipynb
Ich kann die hdf5 Datei lesen zurück !:
import pandas as pd
import numpy as np
storer = pd.HDFStore('test.h5')
storer
Die Datei auf der Festplatte vorhanden ist, aber es ist leer. Es ist unter meinem Home-Verzeichnis, also glaube ich nicht, dass es ein Problem mit Berechtigungen ist. Ferner, die in meinem realen Fall führt zu diesem Test habe ich eine großes DataFrame
, für die die Datei nicht leer ist, aber noch habe ich einen HDF5ExtError
Fehler, wenn ich versuche, es von einem anderen Skript zurück zu lesen:
ich schon einen ähnlichen Blick auf die SO question, aber das scheint auf eine viel ältere Pandas zu beruhen, während meine Installation aktueller ist. pd.show_version() zurückkehrt:
INSTALLED VERSIONS
------------------
commit: None
python: 3.4.3.final.0
python-bits: 64
OS: Linux
OS-release: 3.13.0-83-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
pandas: 0.17.1
nose: 1.3.1
pip: 1.5.4
setuptools: 3.3
Cython: None
numpy: 1.10.4
scipy: 0.13.3
statsmodels: None
IPython: 4.0.0
sphinx: 1.2.2
patsy: None
dateutil: 2.5.0
pytz: 2015.7
blosc: None
bottleneck: 1.0.0
tables: 3.1.1
numexpr: 2.5
matplotlib: 1.3.1
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 0.999
httplib2: 0.8
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
Jinja2: None
Sie müssen .close() Shop – Jeff
@ Jeff: Ja, ich habe die "Lern Pandas" Buch folgte, dass sie es nicht erwähnen , aber es benötigt einen Aufruf zum Schließen(). Auch wenn Sie die Datei nicht nur einmal schließen, bleibt die Datei für die weitere Verwendung problematisch. Danke – Antonello
natürlich, das ist wie ein gepuffertes Dateisystem; weiterhin ist es auf einen einzigen Schreiber beschränkt; siehe die Vorbehalte – Jeff