私は2つのスクリプトを書いています。Python/Pandas HDF5 NameErrorの問題
最初のスクリプトは、一度だけ実行するように設計され、作成されたスクリプト内で次のコードを使用してHDF5ファイルに保存されdf_empty、storage.h5という名前の大きな空のデータフレーム:
from pandas import HDFStore
hdf = HDFStore('storage.h5')
hdf.put('d1', df_empty, format='table', data_columns=True)
これは完全に機能します。
私の次のスクリプトは、すべて30分を実行して、30分ごとに生成さCSVファイルからデータを取得するように設計されており:
新しいデータフレームDFにこのデータを置きます。
インポートDF2としてstorage.h5からデータフレーム。
マージインデックス組合のコマンドを使用してDFとDF2DF3に。
新しいデータフレームをstorage.h5に保存して、前のファイルを上書きします。
次のようにコードの関連セクションは次のとおりです。
from pandas import HDFStore
store = pd.HDFStore('storage.h5')
df2 = pd.DataFrame(store['d1'])
df3 = df.reindex(index = df2.index.union(df.index))
hdf.put('d1', df3, format='table', data_columns=True)
これは私がJupyterノートに順次2つのスクリプトを実行する場合(私はアナコンダの最新バージョンをインストールしているし、これを実行していますうまく機能Windows 7マシンで)。
ただし、コマンドプロンプトから実行すると、問題が発生します。最初のスクリプトはエラーなしで実行されます。
トレースバック(最新の呼び出しの最後)::フォーマット=」 hdf.put( 'D1'、DF3で ファイル "myfile.py"、ライン64、ただし、2番目のスクリプトは次のエラーをスローしますテーブル」=真、data_columns)は NameError:名 『HDFは、』開いているファイルを、残りの クロージング定義されていません。storage.h5 ... donestorage.h5 ...
行わ誰が何を私のように何か提案を持っています間違っている可能性がありますか?
はい!ありがとうございました。よく目撃された。それはトリックをしたようだ。 – pottolom