ตัวแก้ไข CSV ตามคอนโซลแบบโต้ตอบ


12

แม้ว่าแอปพลิเคชั่นสเปรดชีตสำหรับแก้ไขไฟล์ CSV บนคอนโซลเคยเป็นหนึ่งในแอพพลิเคชั่นนักฆ่าที่เก่าแก่ที่สุดสำหรับคอมพิวเตอร์ส่วนบุคคล แต่มีเพียงไม่กี่แอพพลิเคชั่นเท่านั้น

หลังจากทำการค้นหาอย่างละเอียดบนเว็บ manpages และซอร์สโค้ดฉันก็จบลงด้วยแอปพลิเคชั่นสามตัวต่อไปนี้ที่ทุกคนมีข้อบกพร่องพื้นฐาน:

  • sc: ตัวย่อ สำหรับเครื่องคำนวณสเปรดชีต เครื่องมือที่ดีกับปุ่มลัด vi แต่มันไม่ได้ใส่สตริงที่มีตัวคั่นเป็นเครื่องหมายคำพูดเมื่อส่งออกไปยังรูปแบบที่คั่นด้วยตัวคั่นและไม่สามารถนำเข้าไฟล์ csv ได้อย่างถูกต้องนั่นคือตัวเลขทั้งหมดจะถูกตีความว่าเป็นสตริง
  • GNU oleo: ดูเหมือนจะไม่ได้รับการบำรุงรักษาอีกต่อไปตั้งแต่ปี 2544 ดังนั้นจึงไม่มีแพ็คเกจสำหรับการแจกแจงลินุกซ์ที่สำคัญ
  • teapot: เสนอแพคเกจสำหรับระบบปฏิบัติการต่าง ๆ แต่ใช้ตัวอย่างเช่นการตั้งชื่อตัวนับแบบง่ายสำหรับเซลล์ (ตัวเลขสำหรับแถวและคอลัมน์นั่นคือ 11 ดูเหมือนว่าตั้งใจจะเป็นแถว 1, คอลัมน์ 1) และรหัสฟุ่มเฟือยสำหรับ FLTK GUI

โหมด Emacs ต่างๆนั้นไม่ได้อ้างถึงสตริงที่มีตัวคั่นที่ดีหรือต้องการการพิมพ์ที่มากขึ้นสำหรับการเข้าสู่นั่งร้านของตาราง

ดังนั้นฉันจะขอบคุณมากสำหรับการเอาชนะหนึ่งในข้อเสียเหล่านี้หรือคำแนะนำใด ๆ ที่มีต่อตัวแก้ไข CSV ที่ใช้คอนโซลตัวอื่น จริงๆแล้วมันไม่จำเป็นต้องทำการคำนวณใด ๆ เพียงแค่แก้ไขเซลล์หรือคอลัมน์และแถว


คำตอบ:


11

โดยทั่วไปแล้วตัวแก้ไข CSV จะรับรู้ตัวเลขเช่นนี้อ้างสตริงเฉพาะเมื่อจำเป็นอนุญาตให้ตัวคั่นภายในสตริงที่ยกมาและไม่ยุบเซลล์ว่าง ดังนั้นสิ่งนี้บนหน้าจอ

1                      2          3
col-one                           col,three
                       col two
This is a long string. 1.23456789 3.14

ควรสัมพันธ์กับสิ่งนี้ในไฟล์

1,2,3
col-one,,"col,three"
,"col two",
"This is a long string.",1.23456789,3.14

Oleo ไม่ได้รับการบำรุงรักษาเป็นเวลาหลายปี ฉันติดตั้งแพ็คเกจเก่าในระบบ Debian เมื่อเร็ว ๆ นี้และพบว่ามันน่าอึดอัดใจมาก การดำเนินการใช้เวลามากกว่าการกดแป้นจำนวนปกติ สตริงทั้งหมดจะต้องยกมาและคุณต้องทำด้วยตนเอง ตัวกรองการนำเข้า CSV ไม่สามารถจัดการเครื่องหมายจุลภาคภายในสตริงได้ หมายเลขที่มีความแม่นยำยาวจะไม่ถูกเก็บไว้ในรูปแบบดั้งเดิม (เช่น 1.23456789 กลายเป็น 1.234567889999999) บางครั้งกระบวนการจะกลายเป็นรันอะเวย์เพื่อไม่ให้ถูกฆ่าจากบรรทัดคำสั่ง

ดูเหมือนว่า MacroCALC, Teapot และ SC เป็นสเปรดชีต CLI เดียวที่ยังคงได้รับการดูแล

MacroCALCไม่สามารถนำเข้าหรือส่งออกไฟล์ CSV ได้อย่างสมบูรณ์

กาน้ำชาเป็นสิ่งผิดปกติเล็กน้อย แต่มันใช้งานง่ายมากและคู่มือก็คืออ่านอย่างรวดเร็ว การนำเข้า / ส่งออก CSV ง่ายมาก มันมีสองนิสัยใจคอที่สำคัญ อันดับแรกในขณะที่มันทำการสอบถามสตริงโดยอัตโนมัติมันจะอ้างอิงสตริงทั้งหมดเสมอ ประการที่สองมันจะตัด / ขยายเลขทศนิยมทั้งหมดให้เป็นความแม่นยำเริ่มต้น ส่วนต่อประสาน FLTK นั้นใช้งานได้ แต่มันก็บั๊ก

เซาท์แคโรไลนารวดเร็วและมั่นคง มันทำงานคล้ายกับ vi และเป็นเรื่องเกี่ยวกับการเริ่มต้นที่เป็นมิตร ต้องใช้โปรแกรมภายนอกในการแปลงระหว่างรูปแบบ SC และ CSV pscเครื่องมือ (CSV -> SC เท่านั้น) การติดตั้งกับ SC และผลงานเพื่อต้องการ:

cat file.csv | psc -k -d, | sc

หลังจากแก้ไขแล้วให้บันทึกไฟล์ด้วยคำสั่งPutจากนั้นใช้ssconvertยูทิลิตี (SC -> CSV เท่านั้น) ที่มาพร้อมกับ Gnumeric:

ssconvert file.sc file.csv

ฉันพยายามปัดเศษสิ่งต่าง ๆ ด้วยpsc- ssconvertและกระบวนการนั้นดูเสถียร การจัดการตัวเลขและสตริงอย่างถูกต้อง

วิธีอื่นในการแก้ไขไฟล์ CSV คือการใช้โปรแกรมแก้ไขข้อความกับปลั๊กอินที่เหมาะสม ทั้งEmacsและVimมีให้แม้ว่ารุ่น Vim นั้นจะเร็วกว่าและมีคุณสมบัติมากกว่าเดิม การเน้นข้อเสนอเหล่านี้การจัดเรียงคอลัมน์และการดำเนินการบล็อก ฉันพบว่าทั้งช้าและบั๊กกี้มาก


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.