Jupyter notebook file(.ipynb)을 Python file(.py)로 변환하는 방법

nomaday·2023년 2월 15일
1

Note

목록 보기
2/5

저와 같은 초보자에게는 더 익숙한 Jupyter notebook(.ipynb) 파일을 Python(.py) 파일로 전환하여 모듈화 시키는 작업을 해야 할 때가 있습니다.

이때 사용할 수 있는 방법을 알아봅니다.


1. 각 셀을 별도의 .py 파일로 내보내기

Jupyter 노트북 파일을 열고 첫 번째 셀을 선택합니다. 그런 다음 File ➡️ Download As ➡️ Python(.py)으로 이동합니다. 그러면 해당 셀에 대한 .py 파일이 생성됩니다.
각 모듈에 대한 .py 파일이 있을 때까지 각 후속 셀에 대해 이 과정을 반복합니다.

2. nbconvert

nbconvert를 사용하여 전체 노트북을 일련의 .py 파일로 변환합니다.
먼저 터미널에서 다음 명령을 실행하여 nbconvert가 설치되어 있는지 확인합니다.

pip install nbconvert

그런 다음 Jupyter 노트북 파일이 있는 디렉터리로 이동하고 터미널에서 다음 명령을 실행합니다.

jupyter nbconvert --to script my_notebook.ipynb

이렇게 하면 전체 Jupyter 노트북 파일이 각 모듈당 하나씩 일련의 .py 파일로 변환됩니다.

3. nbconvert.exporters.script

스크립트를 사용하여 노트북을 프로그래밍 방식으로 별도의 .py 파일로 분할합니다.

Python 스크립트를 사용하여 Jupyter 노트북 파일을 별도의 .py 파일로 프로그래밍 방식으로 분할할 수 있습니다. 다음은 예제 스크립트입니다.

import nbformat
from nbconvert.exporters.script import ScriptExporter

with open('my_notebook.ipynb') as f:
    nb = nbformat.read(f, as_version=4)

exporter = ScriptExporter()
output, resources = exporter.from_notebook_node(nb)

for i, module in enumerate(output.split("\n\n\n\n")):
    with open(f"module_{i}.py", "w") as f:
        f.write(module)

이 스크립트는 Jupyter 노트북 파일을 열고 Python 코드 문자열로 변환하고 코드를 각 모듈에 대한 별도의 문자열로 분할합니다. 그런 다음 각 모듈 문자열을 별도의 .py 파일에 씁니다.

Reference

0개의 댓글