Python 从HDFStore目录错误中恢复

Python 从HDFStore目录错误中恢复,python,pandas,hdfstore,Python,Pandas,Hdfstore,我制作了一个新的HDFStore并在里面放了一些东西 In [1]: store = pd.HDFStore('data.h5') In [2]: store Out[2]: <class 'pandas.io.pytables.HDFStore'> File path: data.h5 Empty In [3]: store['a'] = Series([1, 2]) In [4]: store Out[4]: <class 'pandas.io.pytables.

我制作了一个新的HDFStore并在里面放了一些东西

In [1]: store = pd.HDFStore('data.h5')

In [2]: store
Out[2]: 
<class 'pandas.io.pytables.HDFStore'>
File path: data.h5
Empty

In [3]: store['a'] = Series([1, 2])

In [4]: store
Out[4]: 
<class 'pandas.io.pytables.HDFStore'>
File path: data.h5
/a            series       (shape->[2])

In [5]: store.close()

In [6]: exit
哎呀!意识到我的错误,我将
cd
放入正确的目录,并在正确的目录中重新分配
存储
变量:

In [3]: cd
/home/dallan

In [4]: store = pd.HDFStore('data.h5')

In [5]: store
Out[5]: 
<class 'pandas.io.pytables.HDFStore'>
File path: data.h5
Empty

In [6]: exit
按照杰夫的建议,我尝试
!cd
显示了意外的IPython行为:

In [1]: pwd
Out[1]: u'/home/dallan'

In [2]: !cd some_directory/

In [3]: pwd
Out[3]: u'/home/dallan'

In [4]: !cd /home/dallan/some_directory/

In [5]: pwd
Out[5]: u'/home/dallan'

In [6]: cd some_directory/
/home/dallan/some_directory

In [7]: pwd
Out[7]: u'/home/dallan/some_directory'

它直接在“当前”中查看,我不确定ipython中的
cd
是否确实改变了它。实际上,您正在查看另一个文件。尝试绝对路径,或者
!cd
这可能是HDFStore中的错误吗?(你能用to_csv/read_csv做这件事吗?)。为什么除了HDFStore之外,
cd
什么都可以用?
In [1]: store = pd.HDFStore('data.h5')

In [2]: store
Out[2]: 
<class 'pandas.io.pytables.HDFStore'>
File path: data.h5
/a            series       (shape->[2])
In [1]: Series([1, 2]).to_csv('test.txt')

In [2]: exit

In [1]: cd some_directory/
/home/dallan/some_directory

In [2]: s = pd.read_csv('test.txt')
(...) IOError: File test.txt does not exist

In [3]: cd
/home/dallan

In [4]: s = pd.read_csv('test.txt')

In [5]: s
Out[5]: 
   0  1
0  1  2
In [1]: pwd
Out[1]: u'/home/dallan'

In [2]: !cd some_directory/

In [3]: pwd
Out[3]: u'/home/dallan'

In [4]: !cd /home/dallan/some_directory/

In [5]: pwd
Out[5]: u'/home/dallan'

In [6]: cd some_directory/
/home/dallan/some_directory

In [7]: pwd
Out[7]: u'/home/dallan/some_directory'