วิธีการส่งออกเซลล์หนึ่งของโน้ตบุ๊ก jupyter


10

ฉันกำลังทำงาน / สร้างต้นแบบในสมุดบันทึกJupyter ฉันต้องการเรียกใช้โค้ดบางส่วนบนเชลล์iPythonแบบสแตนด์อโลน

ตอนนี้ฉันส่งออกรหัสiPythonของฉัน(ไฟล์ -> ดาวน์โหลดเป็น) จากนั้นเรียกใช้งานในiPythonของฉัน(ด้วย% run) ใช้งานได้ แต่ฉันต้องการส่งออกเซลล์เดียวหรือชุดเซลล์ ดังนั้นฉันสามารถทำงานได้เฉพาะสิ่งที่ฉันแก้ไขในสมุดบันทึกJupyterของฉัน


ฉันไม่แน่ใจว่ามันจะสมเหตุสมผลในสมุดบันทึก jupyter หรือไม่เคอร์เนลจะรักษาสถานะของคำสั่งที่รันไว้ก่อนหน้านี้ซึ่งอาจไม่ตรงกับคำสั่ง ipython% run
Rohan Sadale

3
สำหรับเซลล์เดียวคุณสามารถคัดลอกและวางหรือใช้ IPython magics: 1) %% writefile ดูstackoverflow.com/questions/21034373/…หรือ 2)% save ดูคำสั่งstackoverflow.com/questions/947810/…
Valentas

1
@RohanSadale สิ่งที่ฉันต้องการคือการทำงานทั้งในสมุดบันทึก jupyter ของฉันและในเปลือก ipython ของฉัน สมุดบันทึกของฉันจะถูกแชร์และเมื่อฉันต้องการให้คำสั่งก่อนหน้านี้รันบนโน้ตบุ๊กของฉัน แต่ด้วยชุดข้อมูลที่ใหญ่กว่าและทดสอบบางอย่างกับมันฉันทำลงบน ipython shell ของฉัน
มนู H

@Valentas ความคิดเห็นของคุณควรเขียนใหม่เป็นคำตอบ
มนู H

ดูคำถามที่เกี่ยวข้อง: stackoverflow.com/questions/27952428/…
Pierz

คำตอบ:


4

ดูคำถามกองนี้

คุณสามารถใช้คำสั่งเวทย์มนตร์จับ %% ของสมุดบันทึก Jupyter เพื่อจับเอาท์พุทของเซลล์แล้ววางลงในไฟล์ข้อความของคุณ

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

หากคุณต้องการรหัสเซลล์ไปยังไฟล์ที่เฉพาะเจาะจงเช่น code.txt คุณสามารถใช้ฟังก์ชั่นวิเศษ %% writefile

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

นอกจากนี้หากคุณต้องการผนวกไฟล์คุณต้องใช้พารามิเตอร์ -a


ฉันคิดว่าคุณเข้าใจคำถามผิด สิ่งที่ฉันต้องการส่งออกไม่ใช่ผลลัพธ์ของเซลล์ แต่รหัสที่ฉันเขียนลงในเซลล์นั้น
มนู H

ipython.readthedocs.io/en/stable/interactive/magics.htmlจากนั้นคุณสามารถใช้ฟังก์ชั่นเวทมนตร์ %% writefile ได้
R__A_a_

1

ฉันไม่แน่ใจว่าเป็นไปได้หรือไม่ที่จะส่งออกเซลล์เดียวในสมุดบันทึกJupyter

แต่ฉันรู้ว่าคุณสามารถดาวน์โหลดเป็นไฟล์ไพ ธ อนและคัดลอกวางเซลล์เฉพาะที่คุณต้องการในสมุดบันทึกJupyterใหม่ของคุณ

แจ้งให้เราทราบหากคุณต้องการความช่วยเหลือเพิ่มเติม!


0

วิธีหนึ่งที่สามารถทำได้คือการใช้ระบบแคชเอาต์พุตของ Python เพื่อเข้าถึงเอาต์พุตของเซลล์เพื่อให้สามารถบันทึกลงในไฟล์ เอาต์พุตจากเซลล์ x ที่มีหมายเลขถูกเก็บไว้ในตัวแปรที่มีชื่อ_xและเอาท์พุทจากคำสั่งสุดท้ายนั้นเป็น_เช่น ฯลฯ บันทึกผลลัพธ์ของจำนวนเซลล์ 10 ลงในไฟล์cell_10.pickleโดยใช้รูปแบบของพิท ธ :

import pickle
with open('cell_10.pickle', 'wb') as f:
    pickle.dump(_10, f, pickle.HIGHEST_PROTOCOL)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.