17 คะแนน โดย GN⁺ 2024-01-07 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • โหลด CSV แล้วตรวจดูได้ด้วยการเลื่อน/กรองผ่านปุ่มลัด
  • รันด้วย csvlens ชื่อไฟล์ หรือไพป์ด้วย | csvlens

คีย์ไบน์ดิงหลัก

  • hjkl หรือปุ่มลูกศร: เลื่อนทีละหนึ่งแถวหรือหนึ่งคอลัมน์ไปตามทิศทางที่กำหนด
  • Ctrl + f หรือ Page Down: เลื่อนลงหนึ่งหน้า
  • Ctrl + b หรือ Page Up: เลื่อนขึ้นหนึ่งหน้า
  • Ctrl + d หรือ d: เลื่อนลงครึ่งหน้า
  • Ctrl + u หรือ u: เลื่อนขึ้นครึ่งหน้า
  • Ctrl + h: เลื่อนไปทางซ้ายหนึ่งหน้า
  • Ctrl + l: เลื่อนไปทางขวาหนึ่งหน้า
  • Ctrl + ←: เลื่อนไปยังคอลัมน์แรก
  • Ctrl + →: เลื่อนไปยังคอลัมน์สุดท้าย
  • G หรือ End: ไปยังด้านล่างสุด
  • g หรือ Home: ไปยังด้านบนสุด
  • G: ไปยังบรรทัดที่ n
  • /: ค้นหาและไฮไลต์เนื้อหาที่ตรงกับ regular expression
  • n (ในโหมดค้นหา): ไปยังผลลัพธ์ถัดไป
  • N (ในโหมดค้นหา): ไปยังผลลัพธ์ก่อนหน้า
  • &: กรองแถวด้วย regular expression (แสดงเฉพาะแถวที่ตรงกัน)
  • *: กรองคอลัมน์ด้วย regular expression (แสดงเฉพาะคอลัมน์ที่ตรงกัน)
  • TAB: สลับระหว่างโหมดเลือกแถว, คอลัมน์ และเซลล์
  • >: เพิ่มความกว้างของคอลัมน์ที่เลือก
  • <: ลดความกว้างของคอลัมน์ที่เลือก
  • Enter (ในโหมดเซลล์): พิมพ์เซลล์ที่เลือกไปยัง standard output แล้วออกจากโปรแกรม
  • -S: สลับการตัดบรรทัด
  • r: รีเซ็ตเป็นมุมมองเริ่มต้น (ลบตัวกรองทั้งหมดและความกว้างคอลัมน์แบบกำหนดเอง)
  • H: แสดงความช่วยเหลือ
  • q: ออกจากโปรแกรม

พารามิเตอร์เพิ่มเติม

  • -d <delimiter>: ใช้ตัวคั่นนี้ในการ parse CSV (เช่น: csvlens file.csv -d $'\t').
  • -d auto: เปิดการตรวจจับตัวคั่นอัตโนมัติ
  • -i, --ignore-case: ไม่สนใจตัวพิมพ์เล็ก-ใหญ่ระหว่างค้นหา หากสตริงค้นหามีตัวพิมพ์ใหญ่ จะไม่ใช้แฟล็กนี้
  • --echo-column <column_name>: เมื่อกด Enter ให้พิมพ์ค่าของคอลัมน์นี้จากแถวที่เลือกไปยัง standard output แล้วออกจากโปรแกรม

ความเห็นของ GN⁺:

  • csvlens เป็นเครื่องมือทรงพลังสำหรับดูและจัดการไฟล์ CSV ได้อย่างมีประสิทธิภาพ โดยเฉพาะมีประโยชน์สำหรับนักวิทยาศาสตร์ข้อมูลหรือผู้พัฒนาที่ต้องทำงานกับข้อมูลขนาดใหญ่
  • คีย์ไบน์ดิงที่ใช้งานง่ายและตัวเลือกการกรองช่วยให้การสำรวจข้อมูลรวดเร็วและสะดวกยิ่งขึ้น
  • สำหรับผู้ใช้ Linux การติดตั้งทำได้ง่ายเป็นพิเศษ และการเข้าถึงได้สะดวกบน Linux distributions ที่หลากหลายยิ่งเพิ่มความสำคัญของเครื่องมือนี้

1 ความคิดเห็น

 
GN⁺ 2024-01-07
ความคิดเห็นบน Hacker News
  • เคยใช้ Tad GUI เพื่อดูไฟล์ CSV อยู่บ้าง แต่ส่วนใหญ่จะใช้ตัวเลือก nowrap ของ vi หรือไม่ก็อ่านไฟล์ใน R จากนี้ไป csvlens น่าจะกลายเป็นตัวดูไฟล์ CSV หลักของผม
  • สิ่งหนึ่งที่ช่วยยกระดับเวิร์กโฟลว์ CSV ได้มากคือ duckdb เป็นไบนารีขนาดเล็กที่ให้คุณคิวรี CSV ด้วย SQL ได้
  • ผมชอบใช้ clickhouse-local สำหรับพาร์สไฟล์ CSV มันทำงานได้ดีในสถานการณ์ที่ต้องใช้ตัวคั่นและกฎการพาร์สแบบกำหนดเอง ช่วงหลังเพิ่งพบว่าถึงไฟล์ CSV จะถูกบีบอัดไว้ มันก็รู้จำฟอร์แมตการบีบอัดและจัดการให้เองได้โดยไม่ต้องแตกไฟล์ก่อน
  • ถ้า TSV กลายเป็นมาตรฐาน เราก็คงไม่ต้องมีเครื่องมือพวกนี้
  • สิ่งที่ผมทำกับไฟล์ CSV บ่อย ๆ คือรวมค่าของทุกแถวในคอลัมน์หนึ่ง หรือรวมเฉพาะบางแถว ตัวอย่างเช่น มีไฟล์ CSV ขนาดใหญ่ที่ส่งออกมาจากธนาคารหรือผู้ให้บริการชำระเงินเพื่อใช้ปิดภาษีปลายปี แล้วอยากหายอดรวมของบางรายการ ถ้าใช้เครื่องมือ GUI ก็สามารถเรียงคอลัมน์แล้วใช้เมาส์เลือกส่วนที่ต้องการเพื่อดูผลรวมแบบเรียลไทม์ได้ บางครั้งข้อมูลก็ไม่ได้เรียบร้อยพอจะจัดการด้วยสคริปต์อัตโนมัติ เลยรู้สึกว่าทำด้วยมือดีกว่า เพราะมันเกี่ยวกับภาษี ถ้าพลาดขึ้นมาจะเป็นปัญหาใหญ่ ผมกำลังหาแอปสเปรดชีตพื้นฐานที่ทำงานได้ดีทั้งบน Windows และ Linux อยู่ ทั้ง Libre และ Open Office มีปัญหาในการพาร์สคอลัมน์ของ CSV บางประเภท และพฤติกรรมการเรียงลำดับก็แย่กว่าแอป Google Sheets มาก อยากลดการพึ่งพาการใช้ Google
  • ผมเคยชอบใช้ csvkit[^0] แม้มันจะไม่ใช่ตัวดูไฟล์ที่ดีเท่า csvlens แต่ความสามารถในการ grep, cut และ pipe ข้อมูล CSV นั้นมีประโยชน์มาก คิดว่าการใช้ csvlens คู่กับ csvkit น่าจะยอดเยี่ยม
  • ในที่สุดก็เจอตัวดูไฟล์ที่ตามหามานาน! Visidata ก็ดี แต่ซับซ้อนเกินกว่าที่ผมต้องการมาก ตัวนี้น่าจะเข้ากับเวิร์กโฟลว์ของผมได้พอดี ขอบคุณที่แชร์!
  • ผมเจอทางออกที่สมบูรณ์แบบสำหรับตัวเองที่ https://www.moderncsv.com เปิดใช้งานได้เร็ว GUI กระชับ ฟีเจอร์ครบ และไม่มีอะไรเกินจำเป็น!