2016-10-25 1 views
1

DataFramesを含むリストからpickleファイルを書き込む関数を作成しようとしています。私はそのリストを反復して、各DataFrameから異なるファイル名を持つ別のpickleファイルを作成したいと思います。私は、この関数を書いた:DataFramesのリストを反復する別のpickleファイルを作成します。

def picklecreator(dflist): 
a=1 
for b in dflist: 
    b.to_pickle('filename_' + str(a) + '.pkl') 
    a=+1 

return 1 

この機能は、どのように私はそれが私のリスト内のすべてのデータフレームのために働くために作ることができる「filename_1.pkl初のピクルスファイルを作成しますか?

答えて

0

あなたはそれをこのように行うことができます。

def picklecreator(dflist): 
    for i, b in enumerate(dflist): 
     b.to_pickle(r'd:/temp/filename_{:02d}.pkl'.format(i+1)) 
    return 1 

をしかし、私は代わりに、HDFストアを使用する - それは、より柔軟でより便利です。

デモ:

def save_dflist_hdfs(dflist, file_name_ptrn='d:/temp/data_{:02}.h5', **kwarg): 
    for i, df in enumerate(dflist): 
     df.to_hdf(file_name_ptrn.format(i+1), 'df{:02d}'.format(i+1), **kwarg) 
    return len(dflist)  

、あなたはこのようにそれを呼び出すことができます。

save_dflist_hdfs(dflist, r'd:/temp/data_{:02}.h5', format='t', 
       complib='blosc', complevel=5) 
+0

素晴らしい!!ありがとうMaxU!超大容量ファイルのためにHDFをさらに格納していますか?または、ファイルのサイズが柔軟性と利便性のためにそれを使用していますか? – castor

+0

@castor、嬉しいです。私はHDFを使用しています。これは非常に柔軟性があり、便利です。特に、[条件付きでデータをクエリする能力](http://stackoverflow.com/a/38401560/5741205) //stackoverflow.com/questions/37010212/what-is-the-fastest-way-to-upload-a-big-csv-file-in-notebook-to-work-with-python/37012035#37012035) – MaxU

+0

gotそれ!助けてくれてありがとう – castor

関連する問題