数学建模社区-数学中国

标题: 使用python脚本来解决 .ipynb 文件转换为 .py [打印本页]

作者: 2744557306    时间: 2024-3-21 09:59
标题: 使用python脚本来解决 .ipynb 文件转换为 .py
  1. import json8 y* M/ [% j3 Q( a0 S0 X
  2. - z! V' P' b# T! R/ C: q
  3. def convert_ipynb_to_py(ipynb_file, py_file):& Q' q* n0 Y. U' y% a4 y
  4.     with open(ipynb_file, 'r',encoding='utf-8') as f:5 w# P9 g6 F' L- C. l
  5.         notebook = json.load(f)
    % J+ G; E, f: ]

  6. * N* D* G! M+ l3 @
  7.     with open(py_file, 'w',encoding='utf-8') as f:! |6 V7 Q& M2 @7 x! K$ D
  8.         for cell in notebook['cells']:7 W' J5 r! C" k7 R3 `* t
  9.             if cell['cell_type'] == 'code':
    4 X3 Z" O" y$ q! G- h; B
  10.                 f.write(''.join(cell['source']) + '\n\n')9 E) N! l  D2 c; \2 V, r
复制代码
以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。/ c* n8 E/ K6 `7 z
函数的参数解释如下:
' @/ I; W2 e- O8 T$ e* b  E+ r) S
1 i, P2 D- s0 a/ E: |4 F7 q1.ipynb_file:输入的.ipynb文件路径。
5 L- F6 f) e: O2 r2.py_file:输出的.py文件路径。$ e! D* r' _2 r4 g. |
$ c- x( b' b% z# I# Z
函数的实现步骤:7 i& g4 j, L4 G
- `* v! ?9 n: R% z8 x9 F9 W
3.使用json模块读取.ipynb文件,将其解析为一个Python对象。
5 l! @% V  J  N4.使用open()函数以写入模式打开指定的.py文件。
' ^7 P# J5 q# j6 \0 N3 V5.遍历.ipynb文件中的每个单元格。7 y; ^# }) p! T/ H& ~/ a' w" B
6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。7 C8 A! ?, ~7 P' I6 k. o- q
7.最终关闭文件。
8 i4 z* _7 c8 i0 N5 i# H* J( W+ K) l( q% t1 S9 ~  @' H/ I1 o
要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:
  1. convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码
将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。) {+ A  @1 V4 T+ c9 P
/ i) y- O1 _, _3 P! X

/ m% n- q) o9 M' T4 N
- k! H) R6 r/ j* }- p) c! v' K# V! u) b! o





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5