数学建模社区-数学中国
标题:
使用python脚本来解决 .ipynb 文件转换为 .py
[打印本页]
作者:
2744557306
时间:
2024-3-21 09:59
标题:
使用python脚本来解决 .ipynb 文件转换为 .py
import json
; i; X' x4 S, ^' x
% I9 T7 I \- A; n
def convert_ipynb_to_py(ipynb_file, py_file):
, o/ w3 z4 F$ e, x/ w
with open(ipynb_file, 'r',encoding='utf-8') as f:
" z5 \6 t7 }/ c2 `# f
notebook = json.load(f)
9 } D- Q( E8 e7 ~2 E
! d! ^" G4 z& q' b* `
with open(py_file, 'w',encoding='utf-8') as f:
; G$ r# P3 P5 ~, i
for cell in notebook['cells']:
* p% ^6 A9 ?: I/ K$ M, h# T3 U
if cell['cell_type'] == 'code':
0 c( D) ?+ x7 O8 X) P
f.write(''.join(cell['source']) + '\n\n')
- ~9 B: y4 O( _" k- x
复制代码
以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。
1 x: r' r: X4 V2 K
函数的参数解释如下:
T1 A0 M' a4 X* o
6 {' ^8 N* T0 L2 W; O. c2 \# O
1.ipynb_file:输入的.ipynb文件路径。
7 W' D0 r ]0 ?: z( b5 P# _; L. n
2.py_file:输出的.py文件路径。
3 U7 |( \6 m6 u
$ }% N8 b$ z; H8 b0 q R
函数的实现步骤:
8 e4 B2 ~# k8 E" M
( r: j# {9 v0 i& _; g
3.使用json模块读取.ipynb文件,将其解析为一个Python对象。
4 t1 W$ p9 A7 J5 j) p2 W V1 e
4.使用open()函数以写入模式打开指定的.py文件。
. F$ D$ u$ p6 r4 _
5.遍历.ipynb文件中的每个单元格。
7 J+ d: x) K3 C8 h
6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。
" H1 v4 L8 T5 u) W
7.最终关闭文件。
) _2 [: |- N6 Q5 u2 T0 F; I: c
7 r# t7 s% g( P/ Y9 W
要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:
convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码
将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。
5 }! b9 L, ~- a7 }& ~
/ z& ]( K- @# l( j0 h- `: A
/ _. }' Q( p7 L( a" `
5 H2 R0 P! Z% a; }+ M
( P% B5 @2 z3 i5 [
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5