การรวมMS Excel sheets ไว้ในหน้าเดียวกันด้วย Mathematica

นักสถิติคนหนึ่งส่งไฟล์ข้อมูลที่เก็บใน Excel มาให้ เพราะต้องการให้รวมข้อมูลที่มีหลาย sheets โดยที่แต่ล่ะ sheet จะมี header เหมือนกันไว้ใน sheet เดียวกันเพื่อความสะดวกในการนำไปใช้ในโปรแกรมสถิติตัวอื่นเช่น STATA หรือ R วิธีที่ผมทำก็ง่ายมากเลยครับ ผมก็ให้ Mathematica อ่านข้อมูลเข้ามาทีล่ะ sheet ด้วยคำสั่ง Import เอามาต่อๆกันแล้วก็ Export มันออกมาเป็นไฟล์ใหม่ครับ ดูตัวอย่างด้านล่างครับ

(* เปลี่ยนFolderไปที่ไฟล์ข้อมูลเก็บอยู่ เช่นที่ d:/works*)
SetDirectory[“d:/works”];

(*อ่านข้อมูลทั้งหมดเข้ามาใน Mathematica พร้อมกับใช้ Flatten เพื่อเรียงข้อมูลใหม่*)
dat = Flatten[Import[“data.xlsx”, {“Data”}],1];

(* จากนั้นก็สร้างไฟล์ใหม่ขึ้นมา  *)
Export[“newdata.xlsx”, dat,”XLSX”]

การอ่านไฟล์ Excel (.XLS, .XLSX) ด้วยคำสั่ง Import นั้นสามารถที่จะระบุตำแหน่งใน sheet และหมายเลขหรือชื่อของ sheet ได้ครับ สะดวกมากๆ
ดูรายละเอียดเพิ่มเติมได้ที่  http://reference.wolfram.com/mathematica/ref/format/XLSX.html

ลองดูที่นี่เพิ่มเติมครับ ผมเขียนเป็นappง่ายไว้ใช้ออนไลน์ครับ

http://www.sakngoi.com/2018/06/13/รวมชีทไฟล์-xlsx-แบบง่ายๆ/