前提
pythonのpandasでの並列処理をしようとしています。
うまくいかない為、ご教示いただけると幸いです。
実現したいこと
df_listには各データフレームが入っています。
dirnameはディレクトリ名。
データフレームをkeyの名前でエクセルとhtmlファイルにし、ディレクトリに保存したいです。
ディレクトリは、複数あります。
python
1def save_to_file(dirname ,df_list): 2 """ 3 エクセル保存して、profiledataとエクセルを保存する関数 4 """ 5 6 keys = ['A','B','C','D','E'] 7 if df_list is None: 8 df_list = [] 9 10 11 for key,value in zip(keys,df_list): 12 profile= pandas_profiling.ProfileReport(value,minimal=True,title = f'{key}_data') 13 file = f'{key}data.xlsx' 14 path_file = os.path.join(dirname,file) 15 value.to_excel(path_file,index= False) 16 profile.to_file(os.path.join(dirname,key+ '_test.html')) 17 18if __name__ == '_main__': 19 p = Pool(cpu_count()) 20 job_args = list(zip(dirname,df_list)) 21 22 list(p.imap(save_to_file,job_args)) 23 p.close() 24 p.join() 25
発生している問題・エラーメッセージ
上記のコードかなと思いましたが、これでは、ディレクトリ名とデータフレームが多いというエラーがでます。
どうすればよいのでしょうか?
おそらく、save_to_file関数を修正する必要があるのですが、どう修正すればよいでしょうか?
試したこと
job_argsを作成や、引数をふたつわたした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/24 02:50