PySheets: UI แบบสเปรดชีตสำหรับ Python
(pysheets.app)แนะนำ PySheets
- PySheets มอบ UI แบบสเปรดชีตสำหรับ Python ทำให้ผู้ใช้สามารถทำ exploratory data science, ใช้ Pandas, สร้างกราฟด้วย matplotlib, นำเข้าชีต Excel, วิเคราะห์ข้อมูล และเขียนรายงานได้
- โค้ด Python ทั้งหมดทำงานในเบราว์เซอร์ และตัว PySheets เองก็เขียนด้วย Python
- ด้วย PySheets ผู้ใช้สามารถโหลดแพ็กเกจ Python และโมดูล JS ทั้งหมดเพื่อใช้ประโยชน์จากระบบนิเวศด้าน data science ขนาดใหญ่ได้ โดยไม่ต้องเขียนโค้ดจำนวนมาก
ฟีเจอร์หลักของ PySheets
- นำเข้าและส่งออกชีต Excel ได้อย่างรวดเร็ว
- สำรวจและวิเคราะห์ข้อมูลด้วย Pandas ได้
- ทำการสร้างภาพข้อมูลที่ขับเคลื่อนด้วย AI ได้อย่างง่ายดายด้วย Matplotlib
- ได้ผลลัพธ์ทันทีด้วยการเขียนโค้ดเพียงเล็กน้อย
- ทำงานร่วมกันกับสมาชิกในทีมบนชีตที่แชร์ร่วมกันได้
- ไม่ต้องมีการตั้งค่า เคอร์เนล หรือค่าใช้จ่ายคลาวด์ราคาแพง
- ใช้ประโยชน์จากระบบนิเวศ Python และ JS ได้อย่างเต็มรูปแบบ
สถานะการใช้งานของ PySheets
- PySheets เปิดตัวเป็น public beta เมื่อวันที่ 27 เมษายน 2024
- ในวันที่ 21 และ 23 เมษายน พบว่า Bruno ซึ่งเป็นผู้ทดสอบเบตารุ่นแรก ใช้งานมันอย่างสนุกสนาน
- กราฟถูกสร้างใน PySheets และให้บริการผ่านฟีเจอร์ "embed"
เสียงตอบรับจากผู้ใช้
- "เยี่ยมเลยที่สามารถใช้สเปรดชีตฝั่งไคลเอนต์พร้อม Python ที่ฝังมาให้ได้!" - JG
- "ผมชอบความยืดหยุ่นของ Python รวมถึงอินเทอร์เฟซสเปรดชีตและการแสดงผลที่ชัดเจน" - *****@google.com
- "PySheets ทำให้ผมเขียนโค้ดแบบ array-based ที่ผมชอบได้!" - FK
- "การรวมเซลล์เข้ากับ Python นั้นยอดเยี่ยมมาก!" - FG
- "PySheets ใช้งานง่ายและปรับแต่งได้" - IT
- "การผสานกันอย่างมีเอกลักษณ์ระหว่าง Jupyter notebook กับสเปรดชีต" - FE
- "คุณจะได้ทั้งผังการไหลของกระบวนการ สเปรดชีต และสคริปต์ในคราวเดียว" - B2
- "PySheets น่าสนใจเพราะใช้ LTK แบบโอเพนซอร์ส" - AL
- "สามารถโต้ตอบ ใช้ Excel และทำทุกอย่างได้โดยไม่ต้องออกจากเบราว์เซอร์!" - PZ
- "PySheet ช่วยเชื่อมช่องว่างระหว่างนักวิเคราะห์ที่ไม่ใช่สายเทคนิคกับนักวิทยาศาสตร์ข้อมูล" - *****@miracalml.com
- "ยอดเยี่ยมมากสำหรับ PyScript คุณใช้ประโยชน์จากแพลตฟอร์มนี้ได้อย่างเต็มที่" - *****@anaconda.com
- "PySheets คือ Excel สำหรับคนที่เขียน Python ก่อนเป็นหลัก" - NA
นโยบายราคา
- ฟรี: แก้ไขได้ไม่จำกัดสำหรับ 5 ชีต, สร้างด้วย AI 100 ครั้ง, นำเข้า/ส่งออก Excel
- Pro ($19.99/เดือน): การทำงานร่วมกัน, ชีตไม่จำกัด, การสนับสนุนจากชุมชน, สร้างด้วย AI ไม่จำกัด
- Enterprise: Single Sign-On, ติดตั้งแบบ on-premise, ที่เก็บข้อมูลภายใน, การสนับสนุนเฉพาะทาง, แดชบอร์ดตรวจสอบ
แนะนำทีม
- หัวหน้านักพัฒนา Chris Laffra มีประสบการณ์มากกว่า 30 ปีในการสร้างเครื่องมือสำหรับนักพัฒนา เคยทำงานที่ IBM, Google, Uber และเคยนำทีมวิศวกรรมเพื่อสร้างผลิตภัณฑ์การเงินเชิงนวัตกรรมที่ Morgan Stanley, Bank of America และ JP Morgan
- Kurt Vile ผู้นำด้านผลิตภัณฑ์ เป็นผู้บริหารเทคโนโลยีระดับโลกจากวอลล์สตรีทที่มีวิสัยทัศน์ด้าน IT เชิงกลยุทธ์ มีความเชี่ยวชาญในแพลตฟอร์มเทคโนโลยี วิศวกรรมซอฟต์แวร์ ข้อมูล data science, AI ทั่วไป และการเงิน พร้อมทั้งมีความเข้าใจโดยธรรมชาติเกี่ยวกับสเปรดชีตและการวิเคราะห์ข้อมูล
- Chris และ Kurt ผสานความเชี่ยวชาญด้านเทคนิคและการเงินเข้ากับความหลงใหลในประสบการณ์ผู้ใช้ที่ยอดเยี่ยม
ความเห็นของ GN+
- PySheets ดูเป็นผลิตภัณฑ์ที่น่าสนใจซึ่งช่วยเชื่อมช่องว่างระหว่างนักวิทยาศาสตร์ข้อมูลกับผู้ที่ไม่ใช่นักพัฒนา ด้วยการรัน Python ได้โดยตรงในเบราว์เซอร์และมอบอินเทอร์เฟซสเปรดชีตที่คุ้นเคยสำหรับการวิเคราะห์ข้อมูล
- แม้จะมีความคล้ายกับ Jupyter Notebook หรือ Google Colab อยู่บ้าง แต่ก็แตกต่างด้วยการนำเสนอ UI แบบสเปรดชีต อย่างไรก็ตาม สำหรับการวิเคราะห์ขั้นสูงก็น่าจะยังต้องอาศัยทักษะการเขียน Python อยู่ดี
- ราคาค่อนข้างสูง จึงอาจไม่ง่ายนักที่จะดึงดูดผู้ใช้รายบุคคล และน่าจะดีกว่าหากโฟกัสไปที่ฟีเจอร์ระดับ enterprise สำหรับลูกค้าองค์กรให้มากขึ้น
- มีแนวโน้มจะนำไปใช้ได้มากในสายงานการเงินและบัญชี และยังคาดหวังคุณค่าในฐานะเครื่องมือสำหรับการสื่อสารและการทำงานร่วมกันระหว่างผู้บริหาร/ผู้มีอำนาจตัดสินใจกับนักวิเคราะห์ข้อมูลได้ด้วย
- ในกลุ่มผลิตภัณฑ์ที่เพิ่มความสามารถอย่าง machine learning และการสร้างภาพข้อมูลให้กับสเปรดชีตนั้น มีทั้ง Excel Ideas ของ Microsoft และฟีเจอร์ Explore ของ Google Sheets แต่เมื่อเทียบกันแล้ว PySheets มีข้อได้เปรียบตรงที่มอบสภาพแวดล้อมการวิเคราะห์บนพื้นฐาน Python ที่ยืดหยุ่นและทรงพลังยิ่งกว่า
2 ความคิดเห็น
แบบนี้ดีเลยนะ
ความคิดเห็นจาก Hacker News
ผมเป็นผู้เขียน PySheets แอปนี้เขียนด้วย Python ทั้งหมด ใช้ PyScript-LTK บน PyScript และใช้ Python VM สองตัวคือ MicroPython กับ PyOdide
เว็บเซิร์ฟเวอร์เป็นลอจิกขั้นต่ำที่รันบน gunicorn ของ DigitalOcean ส่วนที่เก็บข้อมูลคือ Firestore สามารถแพ็กเกจเป็นแอปออนพรีมิสแบบสแตนด์อโลนได้ง่าย แต่ตอนนี้ยังไม่ได้ให้ความสำคัญสูง อยากฟังความคิดเห็นเกี่ยวกับวิธีเขียนเว็บแอปด้วย Python ในเบราว์เซอร์
ถ้ามีแผนจะไป PyCon US Pittsburgh ผมน่าจะอยู่ที่บูธ Anaconda เป็นส่วนใหญ่
บางครั้งผมทำแอปเล็ก ๆ ให้เพื่อนร่วมงานที่ไม่ได้เขียนโปรแกรมใช้ และพวกเขาใช้สเปรดชีตได้ค่อนข้างดี ตอนนี้ผมค่อนข้างผูกกับ Python แต่การแจกจ่ายแอปเป็นเรื่องน่าปวดหัว เลยลองดูหลายทางเลือก และเคยทำเว็บแอปด้วย flet อยู่หลายตัว ซึ่งรันได้บนแทบทุกแพลตฟอร์มที่ทดสอบ วิธีนี้ก็ดูดีเหมือนกัน
อย่างไรก็ตาม แม้จะเข้าใจว่าเหตุผลด้านความปลอดภัยทำให้มันควรทำได้ยาก แต่ก็อยากรู้วิธีให้เว็บแอปเข้าถึงไฟล์ของผู้ใช้
อาจเป็นการโปรโมตอย่างโจ่งแจ้ง แต่ถ้าต้องจัดการชุดข้อมูลที่ใหญ่กว่า ลองดู rowzero.io ได้
ตอนแรกเราทำสิ่งที่เหมือน PySheets คือให้ภาษา formula เป็น Python เต็มรูปแบบ แต่ในงานอย่างการนำเข้า CSV ขนาดใหญ่ Python interpreter กลายเป็นคอขวด และเพราะ GIL จึงทำการประเมินผลแบบขนานไม่ได้ ความต่างทางไวยากรณ์เล็ก ๆ ระหว่าง Python กับภาษา formula ของ Excel ก็ทำให้ผู้ใช้สายธุรกิจใช้งานยากขึ้นด้วย
ดังนั้นเราจึง implement spreadsheet engine และภาษา formula ด้วย Rust มีหน้าต่างโค้ด Python ที่ให้เขียนฟังก์ชัน Python ใด ๆ ได้ และฟังก์ชันเหล่านั้นสามารถถูกเรียกเป็น formula จากเซลล์ใดก็ได้ในสเปรดชีต เราทำให้ Pandas dataframe ส่งไปมาระหว่างฝั่ง Python กับฝั่งสเปรดชีตได้อย่างเป็นธรรมชาติ จึงได้ข้อดี 90% ของ Python ล้วนโดยไม่ต้องแลกกับประสิทธิภาพ
ตอนนี้ PySheets รันบน WebAssembly ในเบราว์เซอร์ และข้อจำกัดตรงนี้ใหญ่กว่าการที่ Python ช้าเสียอีก หน่วยความจำที่ address ได้มีแค่ 4GB รวม interpreter และไลบรารีแล้ว และแบนด์วิดท์เครือข่ายก็เป็นข้อจำกัดของการคำนวณฝั่งไคลเอนต์
ถึงอย่างนั้น PySheets ก็สามารถเรนเดอร์ชีตที่อิงจาก Excel sheet 50,000 แถวได้ใน 0.5 วินาที และการคำนวณใหม่แบบ end-to-end ทั้งหมดใช้เวลาประมาณ 20 วินาที สิ่งที่ทำได้ในเบราว์เซอร์โดยไม่มีเคอร์เนลภายนอกสำหรับรัน Polars กับชุดข้อมูลขนาดใหญ่นั้นมีขีดจำกัด แต่ผมคิดว่าสำหรับคนส่วนใหญ่ ฟีเจอร์ที่ PySheets มีให้น่าจะเพียงพอ
ในฐานะผู้เขียน PySheets เป็นเกียรติที่ “คู่แข่ง” มองเราเป็นภัยคุกคาม Rowzero เองก็น่าประทับใจและทำออกมาดีมาก :-)
ในฐานะนักวิทยาศาสตร์ข้อมูลผมคงใช้ แต่ในฐานะฝ่ายการเงินมีเหตุผลที่จะไม่ใช้ 1) มันรันบนคลาวด์ แต่มีข้อมูลอ่อนไหว จึงควรรันในเครื่องหรือออนพรีมิส หรือผสานกับ GCP/AWS/Azure ถ้าแบ็กเอนด์เป็น Rust ก็โอเค ถ้าเป็น Python ก็ควรแจกจ่ายชุดไลบรารีไปพร้อมกันด้วย Docker
2) ควรทำทางเลือกแทน PowerPoint/Word ด้วย หรืออย่างน้อยต้องคัดลอก·วางไป PowerPoint/Word ได้ง่าย 3) ต้องผลักดันเรื่อง big data และการเชื่อมต่อ DB อย่างจริงจัง ตอนนี้คอขวดอยู่ตรงนั้น และควรมี Python API สำหรับบริการยอดนิยมในสายการเงินอย่าง Bloomberg, Factset, CapitalIQ ให้ใช้ได้ทันทีถ้ามี subscription
4) ต้องจัดการฝั่งข้อความด้วย ต้องมีอินเทอร์เฟซวิเคราะห์ข้อความ เช่น embedding สำหรับ similarity, fuzzy matching ใน Python, การไฮไลต์คีย์เวิร์ดเป็นสีเขียว หรือการค้นหาในเนื้อหา วงการการเงินใช้งาน PDF บ่อยด้วย ดังนั้นถ้าทุกอย่างอยู่ในแพลตฟอร์มเดียว แทนที่จะต้องเปิดสองหน้าต่างเหมือนตอนนี้ ก็น่าจะดี
ผมหาตัวอย่างดี ๆ สำหรับ implement สิ่งนี้ใน Rust ไม่เจอ เลยสงสัยว่าควรใช้ graph library อย่าง petgraph หรือควรทำเอง
แอปสเปรดชีตที่ใช้ Python ซึ่งไม่ใช่เบราว์เซอร์ มี https://pyspread.gitlab.io/
เป็นไอเดียที่ดี คือให้ GUI ที่ใช้ง่ายสำหรับคนที่ไม่ใช่นักพัฒนา และในขณะเดียวกันก็มี Pandas ให้ผู้ใช้ที่เน้นข้อมูลด้วย
สงสัยว่ามีโปรเจกต์คล้าย ๆ กันที่โฮสต์เองได้ไหม การอัปโหลดข้อมูลเกี่ยวกับสุขภาพไปยังบริการภายนอกทำให้รู้สึกไม่สบายใจ
[0] https://www.trymito.io/
https://www.getgrist.com/product/self-managed
ทุกอย่างขยายได้[2] จึงปรับแต่งสถิติและการแปลงข้อมูลให้เข้ากับเวิร์กโฟลว์ได้
[1] https://github.com/paddymul/buckaroo
[2] https://youtu.be/GPl6_9n31NE
ออกแบบโดยคำนึงถึงการใช้งานแบบ on-premises เพื่อให้บริษัทที่ไม่ต้องการแชร์ข้อมูลกับบริการภายนอกนำไป deploy ได้ อย่างไรก็ตาม สิ่งที่ถูกเก็บใน PySheets มีเพียงข้อมูลที่บันทึกอยู่ในตัวชีตเองเท่านั้น กรณีใช้งานส่วนใหญ่น่าจะเป็นการโหลดข้อมูลจากที่อื่นมา กรองและแปลง แล้ว render ผลลัพธ์ ถึงอย่างนั้น การโฮสต์เองก็น่าจะเป็น use case ที่น่าสนใจได้
https://buckaroo-data.readthedocs.io/en/latest/articles/rela...
สงสัยว่ามีโอกาสจะมีวิดีโอ walkthrough หรือ tutorial ไหม ดูแค่หน้า landing page แล้วยังเข้าใจยากว่า เวิร์กโฟลว์ คืออะไร และ PySheets แก้ use case แบบไหน
ไม่อยากสมัครบัญชีเพียงเพื่อจะลองหาคำตอบ
ลองใช้ RowZero กับ PySheets อยู่ประมาณ 30 นาที RowZero ดูเหมือนจะรองรับ ชุดข้อมูลขนาดใหญ่มาก
เคยใช้ quadratichq เป็นสเปรดชีต Python แต่ตอนนี้ RowZero ดูเหมือนมีฟีเจอร์มากกว่าและราคาต่ำกว่าด้วย คิดว่า PySheets จะเป็นโอเพนซอร์ส แต่ดูเหมือนจะปิด และราคาสูงกว่า 2 เท่า แถมจำกัดไว้ที่ 50 แถว สุดท้ายก็ยังหาวิธีนำ https://www.w3resource.com/python-exercises/pandas/excel/Sal... เข้า PySheets ไม่ได้
ไม่เคยรู้จัก visidata มาก่อน แต่มันสุดยอดจริง ๆ เป็นบทความที่มีประโยชน์มาก
ในช่วงทศวรรษ 2000 และต้นทศวรรษ 2010 สตาร์ทอัพลอนดอนชื่อ Resolver Systems[1] เคยพยายามผสาน Python กับสเปรดชีต
สุดท้ายไม่สำเร็จ แต่ก็สงสัยว่าเป็นเพราะตอนนั้นการรับรู้เกี่ยวกับ Python ยังต่ำกว่าตอนนี้มากหรือเปล่า
[1] http://www.resolversystems.com
ภายหลังเหมือนจะเป็นคนกลุ่มเดียวกับบางส่วนที่ก่อตั้ง PythonAnywhere และผมก็เคยใช้ PythonAnywhere ด้วย ล่าสุดอ่านเจอที่ไหนสักแห่งว่าถูก Anaconda ซื้อกิจการไปแล้ว
ดูค่อนข้างเจ๋งดี น่าสนใจสำหรับคนที่หงุดหงิดที่ Excel, Sheets, Numbers ไม่ยอมให้เขียนโค้ดด้วยภาษาดี ๆ อย่าง Python แล้วค่อยทำ visualization/queries ต่อ
แต่พอเห็นคำว่า AI-driven อยู่บรรทัดที่สามของหน้าเว็บ ก็เดาได้ว่าน่าจะเป็นฟีเจอร์ที่ผู้ทำหน้าเว็บให้ความสำคัญ
ลองกด Ctrl-F หา “ai-driven” ก็เจออีกครั้งในหน้า โดยเขียนว่า “ทำ visualization ที่ขับเคลื่อนด้วย AI ได้ง่าย ๆ ด้วย Matplotlib” บนหน้า landing page ไม่มีคำอธิบายเพิ่มเติม และผมหาเอกสารไม่เจอ พอค้น “pysheets docs” ก็เจอไลบรารี Python ที่ชื่อเดียวกัน
สัปดาห์ที่แล้วผมใช้ ChatGPT เป็นครั้งแรกเพื่อให้ช่วยตรวจเรซูเม่ ปกติคงไม่ทำแบบนั้น แต่เพราะบริษัทที่สมัครเน้นมากว่าใช้ ChatGPT สร้างและตรวจโค้ด เลยลองใช้เองแบบกังขา ๆ และผลลัพธ์ก็น่าประทับใจ
แต่ ChatGPT ชี้ว่ามีข้อผิดพลาดทางไวยากรณ์ที่ไม่ได้มีอยู่จริงในเรซูเม่ ประโยคที่มันวิจารณ์ในฟีดแบ็กไม่มีอยู่ที่ไหนในเรซูเม่เลย และไม่มีอะไรคล้าย ๆ ด้วย แน่นอนว่าในส่วนลึกระดับ 1000 ชั้นของเน็ตเวิร์กอาจมีความคล้ายกับอะไรบางอย่างที่เคยมีข้อผิดพลาดอยู่ก็ได้ แต่ถ้าดีบักเรื่องแบบนี้ได้อย่างมีประสิทธิภาพก็คงดี
ดังนั้นพอเห็นคำว่า AI-driven ที่ไม่มีคำอธิบายในโปรแกรมสเปรดชีต ผมเลยกังวลมากว่าข้อมูลจะ hallucinate หรือเปล่า อยากให้ผู้เขียนอธิบายให้ชัดว่าหมายถึงอะไรกันแน่ อยากรู้ว่าแผนภูมิถูก 99% แต่บางครั้งก็ hallucinate หรือเกิดอะไรขึ้นกันแน่ ถ้ารู้ได้ ผมอาจสมัครเบต้าตอนนี้เลยก็ได้
มุกส่งท้าย คนเขียนคนหนึ่งชื่อ Kurt Vile นี่โอกาสจะเป็นไปได้แค่ไหนกัน: https://www.youtube.com/watch?v=4uAXMl-Bfiw
โค้ดที่สร้างออกมาน่าประทับใจ และช่วยให้นักวิทยาศาสตร์ข้อมูลมือใหม่สำรวจ API ของ Pandas และ Pyplot ได้ AI ถูกใช้เพื่อสร้างโค้ด Python ไม่ได้ใช้วิเคราะห์หรือสร้างข้อมูลในชีต เดี๋ยวจะทำให้จุดนี้ชัดเจนบน landing page
คนนี้เป็น Kurt Vile อีกคนครับ :-)
ดูเป็นโปรเจกต์ที่ยอดเยี่ยมและขัดเกลามาดีมาก การใช้ Python ในสเปรดชีตเป็นไอเดียที่ดี และดูเหมือน Excel เองก็ทำแบบนั้นอยู่แล้วด้วย ถึงอย่างนั้น การได้เห็น implementation ที่ชัดเจนและใช้ง่ายแบบนี้ก็เป็นเรื่องดี
นี่ไม่ใช่คำวิจารณ์ต่อ PySheets โดยตรง แต่ผมอยากให้สเปรดชีตเข้มงวดกว่านี้ เช่น บังคับให้ชีตอยู่ในรูปแบบตาราง เพื่อจะได้ไม่ทำให้คนในองค์กรสร้างความโกลาหลอันน่ากลัวที่ภายหลังคนอื่นต้องมาแงะและ reverse engineer ด้วยเครื่องมือที่ไม่ใช่สเปรดชีต
คือดึงข้อมูลเข้ามา แปลงเป็น Dataframe ทำความสะอาด วิเคราะห์ เทรนโมเดล แล้วส่งออก ตัวอย่างเช่น มีชีตที่โหลดเมตริกการใช้งาน PySheets แปลงเป็น dataframe วาดเป็นกราฟ แล้ว render เป็น live chart บน landing page ของ pysheets.app
เป็นซอฟต์แวร์/แอปที่น่าสนใจ ที่บริษัทปัจจุบันมีไฟล์ Excel จำนวนมากซึ่งมี business logic อยู่ในสูตร Excel เป็นจำนวนมาก
ผมสงสัยว่าถ้านำไฟล์ Excel เข้า PySheets แล้วจะรู้จักสูตรของไฟล์ Excel ต้นฉบับด้วยไหม และอยากรู้ด้วยว่ามีวิดีโอที่แสดงว่า PySheet ทำอะไรได้บ้างหรือเปล่า
เรื่องนี้อยู่ใน roadmap ที่เป็นไปได้ แต่ยังไปไม่ถึงจุดนั้น หลังจากลาออกจากงานเดิมเมื่อเดือนกุมภาพันธ์ จริง ๆ แล้วทำ PySheets มาแค่ประมาณ 3 เดือนเท่านั้น