QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-21 09:59 |只看该作者 |正序浏览
|招呼Ta 关注Ta
  1. import json
    . m$ y2 f; K2 c) U
  2. . o% ~$ z. X4 _' @. I
  3. def convert_ipynb_to_py(ipynb_file, py_file):8 G( w% L$ o( G7 ?% w
  4.     with open(ipynb_file, 'r',encoding='utf-8') as f:# A0 d* ^\" \7 h' |  N  `
  5.         notebook = json.load(f)
    1 ?. ~* C7 Z- ?$ E/ ^

  6. ) J. ], V8 o* }9 z6 x) [
  7.     with open(py_file, 'w',encoding='utf-8') as f:: X& D0 l8 N+ ]9 J) X$ d
  8.         for cell in notebook['cells']:3 `- A5 k- u# w9 X- V$ }# E
  9.             if cell['cell_type'] == 'code':; Q5 K\" H( }6 p0 d
  10.                 f.write(''.join(cell['source']) + '\n\n')0 @2 x; r. z& |7 p, {& K
复制代码
以上代码是一个用于将.ipynb格式的Jupyter Notebook文件转换为.py格式的Python脚本的函数。该函数会读取指定的.ipynb文件,提取其中的代码单元格内容,并将其写入到指定的.py文件中。$ l/ O0 I  N& F9 b% _; g
函数的参数解释如下:! G  y( W/ P! N% p5 j
" n4 M, F- j* d& ]9 E
1.ipynb_file:输入的.ipynb文件路径。
" y- E) C  O: ?, @2.py_file:输出的.py文件路径。! p" R; v" r# b$ T) N' g" m3 F
, C' B$ q/ _- v8 _3 f( ]  e) B  ?5 B% o
函数的实现步骤:2 g. |; j" W2 R

& J& ~: M6 J4 `; L. S3.使用json模块读取.ipynb文件,将其解析为一个Python对象。
% h; I1 S5 I* n4.使用open()函数以写入模式打开指定的.py文件。' z! r0 Z6 L5 k& t8 N
5.遍历.ipynb文件中的每个单元格。
2 A& m# `/ d8 F# O7 ?6.如果单元格类型是代码单元格('code'),将其源代码内容写入到.py文件中。
5 T# U3 |6 E9 D4 ?: H; _# S8 q; G- @  m7.最终关闭文件。% @5 p, l4 j' e4 T* _9 P
9 b/ D0 ~6 z2 v; z# q5 B
要使用这个脚本,你只需要调用 convert_ipynb_to_py 函数,并传入 .ipynb 文件和期望的 .py 文件名:
  1. convert_ipynb_to_py('your_notebook.ipynb', 'your_notebook.py')
复制代码
将 ‘your_notebook.ipynb’ 和 ‘your_notebook.py’ 替换为你的文件名。/ _8 o- I. f/ Q' z! l7 s
) g5 I+ o% n" k& I* J4 Y/ o

7 ~" C! F8 ?! B! z4 ^2 n7 _6 P1 z9 ~% H& m. O6 a  J+ J

- Q& }, e( |0 E5 ]4 d" Y7 Y
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 14:43 , Processed in 0.350558 second(s), 52 queries .

回顶部