Bagaimana cara mengekspor satu sel notebook jupyter?

10

Saat ini saya sedang bekerja / membuat prototipe ke dalam notebook Jupyter . Saya ingin menjalankan beberapa kode saya pada shell iPython mandiri .

Untuk saat ini, saya mengekspor kode iPython saya (file -> unduh sebagai) dan kemudian jalankan dalam iPython saya (dengan% run). Ini berfungsi, tetapi saya hanya ingin mengekspor satu sel atau set sel. Jadi, saya hanya bisa menjalankan apa yang saya modifikasi di notebook Jupyter saya .

Manu H
sumber
Saya tidak yakin apakah akan masuk akal seperti di jupyter notebook, kernel mempertahankan status perintah yang sebelumnya dijalankan yang mungkin tidak terjadi dengan ipython% run perintah.
Rohan Sadale
3
Untuk sel tunggal, Anda cukup menyalin dan menempel atau menggunakan sihir IPython: 1) %% writefile, lihat stackoverflow.com/questions/21034373/… atau 2)% save, lihat perintah stackoverflow.com/questions/947810/… .
Valentas
1
@RohanSadale apa yang saya inginkan adalah bekerja baik di notebook jupyter saya dan di shell ipython saya. notebook saya dibuat untuk dibagikan dan ketika saya ingin membuat perintah yang sebelumnya berjalan di notebook saya tetapi dengan dataset yang lebih besar dan menguji beberapa hal di atasnya, saya membuatnya di shell ipython saya.
Manu H
@Valentas komentar Anda harus ditulis ulang sebagai jawaban.
Manu H
Lihat pertanyaan terkait: stackoverflow.com/questions/27952428/…
Pierz

Jawaban:

4

Lihat pertanyaan tumpukan ini

Anda dapat menggunakan %% capture perintah ajaib notebook Jupyter untuk menangkap output sel dan kemudian menempelkannya ke file teks Anda

with open('output.txt', 'w') as out:
   out.write(cap.stdout)

jika Anda ingin kode sel ke file tertentu misalnya code.txt Anda dapat menggunakan fungsi ajaib %% writefile

%%writefile example.txt
ab = 'This is code'
a = 5
print(a+ 2)

Juga jika Anda ingin menambahkan file Anda harus menggunakan parameter -a

R__A_a_
sumber
Saya pikir Anda salah paham pertanyaannya. Apa yang ingin saya ekspor bukan hasil sel tetapi kode yang saya tulis ke sel itu.
Manu H
ipython.readthedocs.io/en/stable/interactive/magics.html Kemudian Anda dapat menggunakan fungsi sihir %% writefile
R__A_a_
1

Saya tidak yakin apakah mungkin untuk mengekspor hanya satu sel di notebook Jupyter .

Tapi saya tahu Anda bisa mengunduh sebagai file python dan cukup menyalin sel tertentu yang Anda inginkan di notebook Jupyter baru Anda .

Beri tahu saya jika kamu membutuhkan bantuan!

Chase Kregor
sumber
0

Salah satu cara ini dapat dilakukan adalah dengan menggunakan sistem caching output Python untuk mengakses output sel sehingga dapat disimpan ke file. Output dari sel bernomor x disimpan dalam variabel bernama _x, dan output dari perintah terakhir ada di _dll. Mis. Simpan output nomor sel 10 ke file cell_10.picklemenggunakan format acar python:

import pickle
with open('cell_10.pickle', 'wb') as f:
    pickle.dump(_10, f, pickle.HIGHEST_PROTOCOL)
Pierz
sumber