papermaill을 통해 Notebook의 실행 결과를 반환값으로 가져옵니다

3651 단어 Python
papermill에서 notebook을 실행할 때, 이렇게 하면 notebook의 마지막 칸의 출력 값을 얻을 수 있습니다.
nb = papermill.execute_notebook('index.ipynb', ...)
nb['cells'][-1]['outputs'][0]['text']

사용법


컨디션

  • python: 3.8.3-slim (Docker)

  • notebook : 6.0.3

  • papermill : 2.1.2
  • 사용 방법 예


    정의는 다음과 같은fizbuzz의 notebook만 실행하면 됩니다.

    파퍼메일로 상기 notebook을 실행하는 코드를 기술합니다.또한 papermail의 매개 변수 기능 정의 매개 변수를 사용하여 notebook을 매개 변수와 반환 값의 함수로 사용할 수 있습니다.
    main.py
    import papermill
    
    def notebook_result(path, param):
        nb = papermill.execute_notebook(path, '/dev/null', dict(num=param))
        return nb['cells'][-1]['outputs'][0]['text']
    
    print(notebook_result('fizzbuzz.ipynb', 15)) #=> fizzbuzz
    
    $ poetry run python main.py
    (中略)
    fizzbuzz
    

    참고 자료

  • Let user choose how to deal with execution result. by jarrekk · Pull Request #107 · nteract/papermill
  • The Notebook file format — nbformat 5.0 documentation
  • 좋은 웹페이지 즐겨찾기