数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-21 09:59
标题: 使用python脚本来解决 .ipynb 文件转换为 .py
  1. import json
    - H0 p0 G( i: N$ z/ P
  2. 1 a* u% \( K0 s' j4 C8 q! u+ j
  3. def convert_ipynb_to_py(ipynb_file, py_file):; N% E* ]0 Q* O- N4 e$ V
  4.     with open(ipynb_file, 'r',encoding='utf-8') as f:
    5 c5 ]2 L* z: ?* F1 d% q5 s
  5.         notebook = json.load(f)8 B5 I- S: F0 ~9 r3 O" @* H2 d
  6. ( @3 N' t6 v: ]* R) Q& ^. y
  7.     with open(py_file, 'w',encoding='utf-8') as f:
    0 N4 v2 I7 K0 n1 b/ h( E
  8.         for cell in notebook['cells']:
    : }8 E- Q: ]1 F5 p* x4 R: y
  9.             if cell['cell_type'] == 'code':8 [' Q$ \9 P% K8 m
  10.                 f.write(''.join(cell['source']) + '\n\n')
    0 b. S  O/ Z0 t% I
复制代码
以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。
8 a" @, r  V% k' s5 r+ o函数的参数解释如下:8 F5 g- C: M" O* [& |* n1 G
+ i4 Y0 L" A( G6 ?4 J5 {2 B( C2 P4 t3 f
1.ipynb_file:输入的.ipynb文件路径。) H! M  B" p+ L- H7 }
2.py_file:输出的.py文件路径。
& b) K& ~5 _' C! g9 _: t2 b+ y, F7 v  q$ T
函数的实现步骤:
5 r( n# b+ ^, @/ w; N0 I' a& G9 ~5 X! k; R
3.使用json模块读取.ipynb文件,将其解析为一个Python对象。
* E7 h, h4 @( L( F0 ]: U: C+ [4.使用open()函数以写入模式打开指定的.py文件。" n2 @0 N8 H5 Y/ I, \, e$ W
5.遍历.ipynb文件中的每个单元格。; w6 b8 c: [( r/ e) @% G
6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。
$ _  @$ a. F$ h" l7.最终关闭文件。' f* m; M8 |3 ?+ D% p1 |8 R$ @

' U$ y# t7 y/ \' {) R1 R要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:
  1. convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码
将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。$ }( A2 ~  l  m: K

  X1 \1 J* |' K2 [4 T* u/ ]: w$ `. ]: O: k
0 \! v9 V2 ^6 P8 M) J  N
6 g# X1 v7 \+ J$ c" j* C





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