- เครื่องมือที่พัฒนาด้วย Rust สำหรับประมวลผลไฟล์ CSV ขนาดใหญ่ในเทอร์มินัลได้อย่างรวดเร็วและมีประสิทธิภาพ
- นอกจากความสามารถด้านการจัดการข้อมูลที่หลากหลายแล้ว ยังรองรับการแสดงผล, การทำภาพข้อมูล, การวิเคราะห์, เว็บสแครปปิง, การประมวลผลข้อความ, การวิเคราะห์เครือข่ายอีกด้วย
- ภายในใช้มัลติเธรด, ภาษา expression, และการประมวลผลแบบขนานเพื่อประสิทธิภาพสูง
- จัดการไฟล์ CSV ขนาดใหญ่มากระดับกิกะไบต์ได้โดยไม่มีปัญหา
- มีภาษา expression เฉพาะทางที่เร็วกว่าการใช้ Python หรือ Lua มาก
- สามารถสร้าง data flow ที่ซับซ้อนได้ด้วยการเชื่อมคำสั่งเดียวแบบ chain
- ทำได้ตั้งแต่สถิติพื้นฐานไปจนถึงการทำภาพข้อมูลเบื้องต้น เช่น heatmap และ histogram
- มีฟีเจอร์ขั้นสูงสำหรับนักวิจัยด้านสังคมศาสตร์และการวิเคราะห์ข้อมูลเว็บ
- รองรับทั้ง Linux, macOS, Windows
- รู้จำฟอร์แมตหลากหลายโดยอัตโนมัติ เช่น
.tsv, .psv, .ssv, .gz
ตัวอย่างคำสั่งหลัก
-
สำรวจข้อมูล
xan headers: แสดงรายการคอลัมน์
xan view: ดูในรูปแบบตารางบนเทอร์มินัล
xan flatten: แผ่ค่าทั้งหมดของหนึ่งแถวเพื่อดู
xan hist, xan plot, xan heatmap: ฟีเจอร์การทำภาพข้อมูล
-
การกรองและค้นหา
xan search -s 키워드 파일.csv: ค้นหาแถวที่มีคีย์เวิร์ดที่ระบุ
xan filter '조건식' 파일.csv: กรองแถวด้วย expression
-
การแปลงข้อมูล
xan select: เลือกคอลัมน์
xan map: สร้างคอลัมน์ใหม่ด้วย expression
xan transform: เปลี่ยนคอลัมน์เดิมด้วย expression
-
การสรุปและวิเคราะห์
xan count: นับจำนวนแถว
xan frequency: สร้างตารางความถี่
xan stats: แสดงสถิติเชิงพรรณนา
xan agg: การสรุปแบบกำหนดเอง
xan groupby: สรุปผลตามกลุ่ม
-
การเรียงลำดับและลบข้อมูลซ้ำ
xan sort -s 컬럼: เรียงลำดับ
xan dedup -s 컬럼: ลบข้อมูลซ้ำ
-
การรวมข้อมูล
xan join: join ตามคีย์
xan merge: รวมไฟล์ที่ถูกเรียงลำดับแล้ว
xan cat: ต่อข้อมูลตามแถวหรือคอลัมน์
-
ภาษา expression
xan map 'fmt("{} ({})", name, foundation_year)' key
xan filter 'batch > 1'
xan transform name 'split(name, ".") | first | upper'
- ภาษา expression เป็น DSL น้ำหนักเบาที่ออกแบบมาสำหรับการจัดการ CSV โดยเฉพาะ สามารถดู ชีตสรุป, รายการฟังก์ชัน, รายการฟังก์ชันสรุปผล ได้ในเอกสารทางการ
-
ฟีเจอร์การทำภาพข้อมูล
xan hist: histogram แบบข้อความ
xan plot: scatter plot/line chart
xan heatmap: heatmap ความสัมพันธ์
xan view -p: แสดงตารางทั้งหมดบนเทอร์มินัล
ฟีเจอร์ขั้นสูง
- รองรับ pipeline มาตรฐาน input/output อย่างสมบูรณ์
- จัดการไฟล์บีบอัด gzip อัตโนมัติ
- มี scraping DSL ในตัว (แปลง HTML → CSV)
- รองรับ lexicometry, fuzzy matching:
tokenize, vocab, cluster
- การแปลงเครือข่าย/เมทริกซ์:
network, matrix
1 ความคิดเห็น
ฉันสงสัยว่าจะนำไปประยุกต์ใช้อย่างไรได้บ้าง แต่แค่ใช้
sortหรือdropอย่างเดียวก็ดูมีประโยชน์แล้วครับ