Я пытаюсь прочитать несколько созданных Пандами файлов HDF5 в простом веб-приложении с использованием Bottle. При этом я получаю уведомление об отказе при чтении HDFStore, созданного за пределами сервера приложений Bottle.Pandas читает HDFStore в бутылке - DeprecationWarning?
Окружающая среда:
- OSX: 10.9.4
- Python: 2.7.8 (самодельный)
- панды: 0.14.1
- бутылки: 0.12.7
- таблицы: 3,1 .1
Настоящий рабочий стол, который иллюстрирует проблему:
test-pandas.py
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(20, 5),columns=['a', 'b', 'c', 'd', 'e'])
df1.to_hdf('/tmp/df.hdf',key='dfkey',format='table',append=False,complib='blosc',complevel=9)
Затем в другом файле, мы имеем:
test-bottle.py
import pandas as pd
import bottle as bt
app = bt.Bottle()
@app.route('/test')
def test():
bt.response.set_header("Content-Type","application/json")
df2 = pd.read_hdf('/tmp/df.hdf','dfkey')
return df2.to_json(orient='split')
app.run(host='localhost', port=8080, debug=True)
Запуск сервера через python test-bottle.py
и затем укажите браузер на http://localhost:8080/test
. Бутылка выкладывает следующий отладочный данные:
Bottle v0.12.7 server starting up (using WSGIRefServer())...
Listening on http://localhost:8080/
Hit Ctrl-C to quit.
/usr/local/lib/python2.7/site-packages/pandas/io/pytables.py:533: DeprecationWarning: openFile() is pending deprecation, use open_file() instead. You may use the pt2to3 tool to update your source code.
self._handle = tables.openFile(self._path, self._mode, **kwargs)
/usr/local/lib/python2.7/site-packages/pandas/io/pytables.py:1041: DeprecationWarning: getNode() is pending deprecation, use get_node() instead. You may use the pt2to3 tool to update your source code.
return self._handle.getNode(self.root, key)
127.0.0.1 - - [16/Sep/2014 09:04:31] "GET /test HTTP/1.1" 200 1481
Однако, если вы должны были первоначально написать HDFStore в том же исходном файле питона в качестве приложения бутылки, test-bottle.py
не появляется предупреждение устаревания. Это ошибка? Если нет, что именно здесь происходит?
Thanks Jeff. Мне просто интересно, почему появляется предупреждение, когда HDFStore создается за пределами файла приложения Bottle. Опять же, если я создаю хранилище в том же файле, что и приложение «Бутылка», не появляется предупреждение. – bazel