QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3047|回复: 0
打印 上一主题 下一主题

使用python脚本来解决 .ipynb 文件转换为 .py

[复制链接]
字体大小: 正常 放大

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-21 09:59 |只看该作者 |正序浏览
|招呼Ta 关注Ta
  1. import json\" N- N2 U; B. [

  2. 2 s% x- u* D) e2 v3 [
  3. def convert_ipynb_to_py(ipynb_file, py_file):3 `1 ^# }! ?- t  C' d! t8 E
  4.     with open(ipynb_file, 'r',encoding='utf-8') as f:
    . B8 U9 o. ?4 l( p% }* e( Q
  5.         notebook = json.load(f): g1 d* Q2 y3 D
  6. 0 f( W) m. v) A\" z4 i0 M$ V7 E) W  A+ F
  7.     with open(py_file, 'w',encoding='utf-8') as f:
      R- h\" z) F0 G2 S  U. {
  8.         for cell in notebook['cells']:# u. h( x' r\" o
  9.             if cell['cell_type'] == 'code':
    5 }0 G' a! ]( \
  10.                 f.write(''.join(cell['source']) + '\n\n')
    5 ~* J) V1 p. e3 o' x
复制代码
以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。0 Z- E* K! x  z9 l* O$ i! L6 F
函数的参数解释如下:# G, w/ _! Y2 F- N  f# e
% N7 W! u% w6 V5 G
1.ipynb_file:输入的.ipynb文件路径。2 R* n% f- h8 `$ \: y
2.py_file:输出的.py文件路径。
  T# s/ a8 p" Z/ a$ z. W+ a
' r) H2 ?) ?6 M  _  [+ G7 W函数的实现步骤:! L! s4 o* {& R/ a( F

) g& i7 d( ?. ^+ |2 C7 W3.使用json模块读取.ipynb文件,将其解析为一个Python对象。% C4 B& y( T" v% ]' a; R/ L
4.使用open()函数以写入模式打开指定的.py文件。
$ p  I+ u6 ^4 l, i5.遍历.ipynb文件中的每个单元格。: s& Z& }; B: }6 \' \
6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。
- E7 m0 K3 c% b7 }- g7.最终关闭文件。* Z, q* o: X& t% x4 W% P

9 w3 v8 @4 M! J' v$ Q要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:
  1. convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码
将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。: t) e1 j4 O; J) M; L6 i) d

! m7 b' ~( m, H, o0 v! o% M
! [7 _6 s  F0 U9 j: R9 [6 N+ B5 s  |* N3 H$ t6 P# ?

/ O* E8 _- M# y# z% _' S
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-6-15 18:29 , Processed in 0.430028 second(s), 51 queries .

回顶部