前提
pythonのpandasでの並列処理をしようとしています。
うまくいかない為、ご教示いただけると幸いです。
実現したいこと
df_listには各データフレームが入っています。
dirnameはディレクトリ名。
データフレームをkeyの名前でエクセルとhtmlファイルにし、ディレクトリに保存したいです。
ディレクトリは、複数あります。
python
def save_to_file(dirname ,df_list): """ エクセル保存して、profiledataとエクセルを保存する関数 """ keys = ['A','B','C','D','E'] if df_list is None: df_list = [] for key,value in zip(keys,df_list): profile= pandas_profiling.ProfileReport(value,minimal=True,title = f'{key}_data') file = f'{key}data.xlsx' path_file = os.path.join(dirname,file) value.to_excel(path_file,index= False) profile.to_file(os.path.join(dirname,key+ '_test.html')) if __name__ == '_main__': p = Pool(cpu_count()) job_args = list(zip(dirname,df_list)) list(p.imap(save_to_file,job_args)) p.close() p.join()
発生している問題・エラーメッセージ
上記のコードかなと思いましたが、これでは、ディレクトリ名とデータフレームが多いというエラーがでます。
どうすればよいのでしょうか?
おそらく、save_to_file関数を修正する必要があるのですが、どう修正すればよいでしょうか?
試したこと
job_argsを作成や、引数をふたつわたした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
まだ回答がついていません
会員登録して回答してみよう