ไทย

ข้อมูลและสเปรดชีต · CSV สะอาดยิ่งขึ้น

คั่นด้วยเครื่องหมายอัฒภาค CSV อธิบาย: การตั้งค่าเครื่องหมายจุลภาคทศนิยมและตำแหน่งที่ตั้ง

· พื้นหลัง

csv ตัวคั่น การทำงานร่วมกัน

ตารางที่คั่นด้วยเครื่องหมายอัฒภาคจะเป็นสี่เหลี่ยม ในขณะที่เครื่องหมายจุลภาคจะยังคงอยู่ในค่าที่แสดงเป็นตัวเลข
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

ในยุโรปส่วนใหญ่ เครื่องหมายจุลภาคเป็นตัวคั่นทศนิยม ดังนั้นไฟล์ที่ "คั่นด้วยเครื่องหมายจุลภาค" จะใช้เครื่องหมายอัฒภาคแทน โพสต์นี้จะอธิบายตรรกะของโลแคลเบื้องหลังการแยก วิธีตัดสินใจของสเปรดชีต และสิ่งที่จะเกิดขึ้นเมื่อไฟล์ข้ามพรมแดน

ไฟล์จากเพื่อนร่วมงานในต่างประเทศเปิดเป็นคอลัมน์เดียว — ช่วงเวลาที่คนส่วนใหญ่ค้นพบ CSV มีภาษาถิ่น

การส่งออกเครื่องหมายอัฒภาคที่เปิดภายใต้สมมติฐานที่ใช้เครื่องหมายจุลภาคเท่านั้นจะปรากฏเป็นคอลัมน์ข้อความกว้างคอลัมน์เดียว อาการดังกล่าวสะท้อนถึงตัวเลือก parser ไม่ใช่การพิสูจน์ว่าข้อมูลเสียหาย ToolAcre มีเครื่องหมายอัฒภาคข้างเครื่องหมายจุลภาค แท็บ และไปป์ และเขียนอักขระที่ใช้จริงกลับเข้าไปในตัวควบคุม

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

เครื่องหมายจุลภาคทศนิยม — เพราะเหตุใด '1,5' จึงเป็นตัวเลขที่ถูกต้องในหลายภาษา และเหตุใดตัวคั่นด้วยเครื่องหมายจุลภาคจะทำให้ไม่สามารถแยกวิเคราะห์ได้

สมุดงานจะอธิบายอัฒภาคผ่านเครื่องหมายจุลภาคทศนิยม นั่นเป็นบริบทการแลกเปลี่ยนที่มีประโยชน์ แต่การใช้งานนี้ไม่เคยแยกวิเคราะห์ `1,5` เป็นหมายเลขที่แปลเป็นภาษาท้องถิ่น จะรักษาเซลล์ไว้เป็นสตริง ความหมายเครื่องหมายจุลภาคภายในค่าและความหมายอัฒภาคระหว่างฟิลด์จึงยังคงแยกจากกันในเวลาแยกวิเคราะห์

อย่าแปลงเครื่องหมายทศนิยมขณะซ่อมแซมตัวคั่น เว้นแต่สคีมาปลายทางจะกำหนดไว้อย่างชัดเจน ช่องรหัสหรือร้อยแก้วอาจมีเครื่องหมายจุลภาคอย่างถูกต้องตามกฎหมาย ToolAcre จัดการขอบเขตของตารางและปล่อยให้การตีความเชิงตัวเลขแก่แอปพลิเคชันที่รับ

บริบทที่ใช้เครื่องหมายจุลภาคทศนิยมเป็นไปได้ แต่ ToolAcre ถือว่าค่าของเซลล์เป็นสตริง และไม่แยกวิเคราะห์ตัวเลขที่แปลเป็นภาษาท้องถิ่น

เครื่องมือนี้ไม่คำนึงถึงการตั้งค่าภูมิภาคหรือตัวคั่นรายการของระบบปฏิบัติการ การตรวจจับอัตโนมัติจะแยกวิเคราะห์ตัวอย่างสิบแถวภายใต้ตัวเลือกแต่ละตัวที่รองรับ วัดความกว้างสูงสุด และให้รางวัลแก่ตัวเลือกที่สร้างสี่เหลี่ยมผืนผ้าที่สอดคล้องกัน หากไม่มีการสร้างคอลัมน์อย่างน้อยสองคอลัมน์ ระบบจะกลับไปใช้เครื่องหมายจุลภาค

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

ToolAcre ตรวจพบรูปร่างของไฟล์ มันไม่อ่านการตั้งค่าตัวคั่นรายการระบบปฏิบัติการ

ภายใต้ตัวคั่นที่ไม่ถูกต้อง เรกคอร์ดอัฒภาคจะยังคงเป็นเซลล์เดียวแทนที่จะกลายเป็นหลายคอลัมน์ ToolAcre ไม่ตีความตัวเลขที่แปลเป็นภาษาท้องถิ่น ดังนั้นจึงไม่สามารถเปลี่ยน `1,5` เป็นค่าตัวเลขอื่นโดยไม่โต้ตอบได้ในระหว่างการแยกวิเคราะห์ ความล้มเหลวจะปรากฏในการนับคอลัมน์และรูปร่างตัวอย่าง

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

parser แสดงการอ่านโครงสร้าง ไม่ใช่การเปลี่ยนแปลงตัวเลขแบบเงียบๆ

ใช้ `item;price;note` ตามด้วย `A;1,5;"small, red"` และ `B;2,0;plain` การแยกวิเคราะห์อัฒภาคจะให้ผลสามคอลัมน์ โดยคงสตริงที่มีเครื่องหมายจุลภาคทั้งสองไว้ การแยกวิเคราะห์ด้วยเครื่องหมายจุลภาคจะปล่อยให้เครื่องหมายอัฒภาคอยู่ในช่อง และสามารถสร้างการแยกเครื่องหมายจุลภาคที่ทำให้เข้าใจผิดแทนได้

เครื่องมือตรวจสอบควรเลือกใช้เครื่องหมายอัฒภาคเนื่องจากตัวเลือกนั้นให้รูปร่างสามคอลัมน์ที่สอดคล้องกัน ในขณะที่เครื่องหมายจุลภาคไม่ได้ให้ ตัวอย่างนี้พิสูจน์พฤติกรรมของโปรแกรมแยกวิเคราะห์โดยไม่อ้างว่า 1,5 มีค่าตัวเลขใดๆ ระบบการรับต้องใช้รูปแบบทศนิยมที่เป็นเอกสารของตัวเอง

ตัวอย่างการทำงาน: การตรวจหาอัฒภาคด้วยค่าสตริงที่มีเครื่องหมายจุลภาค

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

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

สิ่งนี้ไม่ครอบคลุมถึง - การแปลงรูปแบบตัวเลขภายในข้อมูล ตัวคั่นและเครื่องหมายทศนิยมเป็นปัญหาที่แยกจากกัน

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

เส้นทางนี้ยังไม่สามารถรับประกันได้ว่าแอปพลิเคชันสเปรดชีตจะเลือกตัวแยกอย่างไรเมื่อเปิดไฟล์ สามารถสร้างได้เฉพาะตัวคั่นที่เลือกในเอาต์พุตและเครื่องหมายคำพูดมาตรฐานรอบอักขระที่ขัดแย้งกัน ทดสอบแอปพลิเคชันเป้าหมายแทนที่จะสร้างพฤติกรรมของผู้ขาย

ตัวคั่นจะตามโลแคล ไม่ใช่ไฟล์ - วิธีที่ ToolAcre CSV การซ่อมแซมตัวคั่นของ Cleaner มอบไฟล์ที่มีตัวคั่นที่รู้จักเพียงตัวเดียวให้กับคุณ

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

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