数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-21 09:59
标题: 使用python脚本来解决 .ipynb 文件转换为 .py
  1. import json+ _; G* `7 p$ l, S8 U6 p0 p
  2. . v; e' |. y: V$ a, A! }
  3. def convert_ipynb_to_py(ipynb_file, py_file):" e* Q% h: I: i6 k1 J" A  q
  4.     with open(ipynb_file, 'r',encoding='utf-8') as f:1 R! G: l& k, k% W! S( y
  5.         notebook = json.load(f)! n& ?: D1 n( z: |1 u* r  q
  6. ) d& j0 f3 v( K
  7.     with open(py_file, 'w',encoding='utf-8') as f:
    / d5 w# P0 l: n7 O% Q
  8.         for cell in notebook['cells']:
    / K/ |5 C; v! u* j' `
  9.             if cell['cell_type'] == 'code':
    0 k, x; Y1 I$ |
  10.                 f.write(''.join(cell['source']) + '\n\n')2 B2 {1 _) F+ |) D7 t) |
复制代码
以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。. G% f  [; e: n9 d$ d
函数的参数解释如下:
% h, Y4 A* x9 K% ]4 w4 f' p) }( q& K6 L% i  l5 S
1.ipynb_file:输入的.ipynb文件路径。
9 @# ]* L; f/ a$ e+ ~2.py_file:输出的.py文件路径。
7 u5 S7 G  c$ K0 x
' V9 Y. w9 f* Y函数的实现步骤:
, i' Z# j" {; {2 U( J3 Y
0 M; U4 n. f1 s: \& W3.使用json模块读取.ipynb文件,将其解析为一个Python对象。
# o4 X' j0 `: E: A6 _+ R4.使用open()函数以写入模式打开指定的.py文件。
( b! S5 L! |1 o( @& |5.遍历.ipynb文件中的每个单元格。7 J1 y) {( n: X6 R
6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。. f3 y  a2 p% d
7.最终关闭文件。8 q: \# f8 R; t' S+ _: V

4 x$ l/ J& j' O要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:
  1. convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码
将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。: g- n8 {8 y! O& M

: G( w* ?( A# D5 A3 W
" i% Y, K2 _/ f! T5 ?* v1 Y2 r9 |" l! h) i
2 ]  ?" M. G$ V% ^1 U





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