2017-11-23 11 views
2

私はこの質問hereに関係する質問を得ました。関数を使用して、現在のディレクトリの外側のパスにデータフレームを書き込みますか?

私はパンダのデータフレームを、指定されたパスのExcelファイル(前には存在しない)に書き込もうとしています。私はそれをかなり数回しなければならないので、私は関数でそれをラップしようとします。私がしていることは次のとおりです。

df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) 

def excel_to_path(frame, path): 
    writer = pd.ExcelWriter(path , engine='xlsxwriter') 
    frame.to_excel(writer, sheet_name='Output') 
    writer.save() 

excel_to_path(df, "../foo/bar/myfile.xlsx") 

エラー[Errno 2] No such file or directory: '../foo/bar/myfile.xlsx'がスローされます。どのように私はそれを修正することができますか?

EDIT:定義されたpathが現在の作業ディレクトリ内にある限り動作します。しかし、代わりにpathを指定したいと思います。アイデア?

+1

をコードは、私はちょうどそれがある限り働くことに気づいた私のPC – kaidokuuppa

+0

上で動作 'PATH'は、カレントディレクトリ内にある - それは外だではない場合。何か案は? – Rachel

+1

コード例のパスは '../ foo/bar/myfile.xlsx'です。エラー記述のパスは' ../ for/bar/myfile.xlsx'です。 'foo!= for';それはあなたの質問のタイプミスですか、それとも根本的な問題ですか? – NTAWolf

答えて

0

私は通常、ディレクトリを作成するのを忘れて噛まれてしまいます。おそらく、パス../foo/bar/はまだ存在しませんか?パンダはあなたのためにファイルを作成しますが、親ディレクトリは作成しません。まだ - foo/barがあなたに対して存在するが、../foo/barしないように、srcは作業ディレクトリであることを

. 
└── src 
    ├── foo 
    │   └── bar 
    └── your_script.py 

:手の込んだ

、私はあなたのセットアップは、このようになっていることを推測しています!

だからfoo/barディレクトリに1つ上のレベルに追加する必要があります

. 
├── foo_should_go_here 
│   └── bar_should_go_here 
└── src 
    ├── foo 
    │   └── bar 
    └── your_script.py 
関連する問題