Missing optional dependency 'tables'. In pandas to_hdf

Poojan picture Poojan · Oct 21, 2019 · Viewed 11.6k times · Source
  • following code is giving me error.
import pandas as pd
df = pd.DataFrame({'a' : [1,2,3]})
df.to_hdf('temp.h5', key='df', mode='w')

Some version info.

  • python 3.7.4
  • pandas 0.25.2
  • windows10

PS: You can reproduce this in repl https://repl.it/.

Update:

  • I tried runnig following.
import tables

and got this error:

ImportError: Could not load any of ['hdf5.dll', 'hdf5dll.dll'], please ensure that it can be found in the system path.

  • It looks like pandas is not giving accurate message for this. Its just saying missing dependency when its actually present.

  • If anyone knows how to resolve this. That will help.

Answer

Poojan picture Poojan · Oct 24, 2019
  • The issue was with tables.
  • When i was installing tables using pip into local user directory using following command it's not working.
pip install --user tables
  • Running import tables will result in this error.

    ImportError: Could not load any of ['hdf5.dll', 'hdf5dll.dll'], please ensure that it can be found in the system path

  • The solution that worked for me is to uninstall tables. And install it into python's directory. (or where your python is installed). without --user option. You may require admin/root access for this depending upon location of your python.

  • For me my python path was C:\Program Files\Python37-64\python.exe and installing under c:\program files\python37-64\lib\site-packages\ worked for me.
  • Hope this helps. I don't know why installing in user directory is not working for tables. If anyone can find the reason for that please post here.