2017-11-23 20 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 당신에 상대적으로 존재하도록 src

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

, 당신의 작업 디렉토리되고 있지만, ../foo/bar하지 않습니다 - 아직 :

은, 당신의 설정은 다음과 같습니다 같은데요 정교합니다!

그래서 당신은 foo/bar 디렉토리를 한 단계를 추가해야합니다 :

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