前提・実現したいこと
分析に使ったデータフレームをcsvファイルにエクスポートする際に、
エクスポートしたいデータフレーム名をexport_data
に指定するだけで、
パス名とファイル名をいちいち変更する必要なく出力できるコードを作成しています。
その際に、以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
/content/drive/My Drive/Colab Notebooks/df_target.csv --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-110-b8be81b8c1a3> in <module>() 8 #csvに出力 9 with open(path, 'w', encoding = 'utf-8-sig') as f: ---> 10 utilize_data.to_csv(f) AttributeError: 'str' object has no attribute 'to_csv'
該当のソースコード
python
1#出力したいデータフレームの設定 2utilize_data = "df_target" 3 4#ファイルのパスの設定 5root = '/content/drive/My Drive/Colab Notebooks/Edanz/' 6path = "{}{}.csv".format(root,utilize_data) 7print(path) 8 9#csvに出力 10with open(path, 'w', encoding = 'utf-8-sig') as f: 11 utilize_data.to_csv(f)
試したこと
上記のエラーを見るに、utilize_data
が文字列になっているので、
データを出力できないことは分かりました。
そこで下記のように、(1)に加えて、(2)でもダブルクォーテーションマークなしのデータフレーム名を
指定してあげることでファイルは出力できました。
しかし、(1)の部分一箇所だけの指定でファイルを出力できるようにしたいです。
("'" + df_coverage + "'"
のようにも設定してみましたが、通常の文字列の結合のようにうまくいきませんでした。)
python
1#出力したいデータフレームの設定 2utilize_data = "df_target" #(1) 3 4#ファイルのパスの設定 5root = '/content/drive/My Drive/Colab Notebooks/Edanz/' 6path = "{}{}.csv".format(root,utilize_data) 7print(path) 8 9#csvに出力 10with open(path, 'w', encoding = 'utf-8-sig') as f: 11 df_target.to_csv(f) #(2)
利用環境
google colaboratory, python 3.6.9
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/05 10:49