Contents

วิธีแยกสเปรดชีต CSV Excel ขนาดใหญ่ออกเป็นไฟล์แยกต่างหาก

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

เหตุใดจึงแยก CSV ขนาดใหญ่ออกเป็นหลายไฟล์

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

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

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

ไม่มีไฟล์ CSV ขนาดใหญ่แต่ต้องการเล่นที่บ้านใช่ไหม ฉันใช้ COVID-19 Open Research Dataset ในตัวอย่าง ซึ่งคุณสามารถดาวน์โหลดและใช้งานได้ ด้วย.

แยกไฟล์ CSV โดยใช้โปรแกรม

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

ฟรีตัวแยก CSV ขนาดใหญ่

/th/images/split-csv-file-program.png

Free Huge CSV Splitter เป็นแอปพลิเคชันพื้นฐานที่ออกแบบมาสำหรับการหารไฟล์ค่าที่คั่นด้วยเครื่องหมายจุลภาค (CSV) โดยไม่มีฟังก์ชันที่ซับซ้อนใดๆ ในการเริ่มต้นกระบวนการ ผู้ใช้ต้องระบุไฟล์ CSV ที่ต้องการแบ่งพาร์ติชัน ระบุจำนวนบรรทัดที่ต้องการ จากนั้นคลิก"แยกไฟล์"จำนวนบรรทัดทำหน้าที่เป็นตัวกำหนดจำนวนสุดท้ายของเอกสารเอาต์พุตที่สร้างโดยซอฟต์แวร์

ตัวแยกไฟล์ CSV

/th/images/csv-splitter-split-large-file-1.png

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

ใช้ไฟล์แบทช์

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

 @echo off

setlocal ENABLEDELAYEDEXPANSION

REM Edit this value to change the name of the file that needs splitting. Include the extension.

SET BFN=HCAHPSHospital.csv

REM Edit this value to change the number of lines per file.

SET LPF=2500

REM Edit this value to change the name of each short file. It will be followed by a number indicating where it is in the list.

SET SFN=HosptialSplitFile

REM Do not change beyond this line.

SET SFX=%BFN:~-3%

SET /A LineNum=0

SET /A FileNum=1

For /F "delims==" %%l in (%BFN%) Do (

SET/A LineNum\+=1

echo %%l >> %SFN%!FileNum!.%SFX%

if !LineNum! EQU !LPF! (

SET/A LineNum=0

SET/A FileNum\+=1

)

)

endlocal

Pause

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

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

ในการจำกัดจำนวนแถวในไฟล์ที่สร้างขึ้นใหม่ จะต้องระบุค่าสำหรับตัวแปรที่เรียกว่า “LPF” ซึ่งย่อมาจาก “Limiting Precision Factor

ระบบการตั้งชื่อที่ได้รับการแก้ไขข้างต้นซึ่งระบุว่าเป็น"SET SFN=“ได้ถูกนำมาใช้เพื่อกำหนดซ้ำล่าสุดของกลุ่มข้อมูลแต่ละส่วนภายในโครงสร้างพื้นฐานการจัดเก็บข้อมูลของเครือข่ายของเรา

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

ใช้สคริปต์ PowerShell เพื่อแบ่งไฟล์ CSV

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

สคริปต์ปัจจุบันแบ่งไฟล์ค่าที่คั่นด้วยเครื่องหมายจุลภาค (CSV) อย่างมีประสิทธิภาพออกเป็นส่วนที่สามารถจัดการได้มากขึ้น

โปรดทำตามขั้นตอนต่อไปนี้เพื่อเข้าถึง Windows PowerShell บนระบบที่ใช้ Windows:1. กดปุ่ม “CTRL + X” บนแป้นพิมพ์พร้อมกันเพื่อเปิด Windows Power Menu2. จากตัวเลือกที่แสดงภายในเมนู ให้เลือก “PowerShell”3. ในกรณีที่ไม่มีตัวเลือก “PowerShell” ให้ไปที่เมนู Start และทำการค้นหาโดยใช้คำสำคัญ “powershell” เมื่อพบแล้วให้คลิกที่ผลลัพธ์บนสุดเพื่อเปิดใช้งาน

ตอนนี้ คัดลอกและวางสคริปต์ต่อไปนี้:

 $InputFilename = Get-Content 'C:\file\location'

$OutputFilenamePattern = 'output_done_'

$LineLimit = 50000

$line = 0

$i = 0

$file = 0

$start = 0

while ($line-le $InputFilename.Length) {

if ($i-eq $LineLimit-Or $line-eq $InputFilename.Length) {

$file\+\+

$Filename = "$OutputFilenamePattern$file.csv"

$InputFilename[$start..($line-1)] | Out-File $Filename -Force

$start = $line;

$i = 0

Write-Host "$Filename"

}

$i\+\+;

$line\+\+

} 

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

/th/images/powershell-script-to-split-excel-csv-file-smaller.png

คุณสามารถค้นหาสคริปต์ต้นฉบับได้ที่ SPJeff

แยก CSV ขนาดใหญ่โดยใช้ Power Pivot

วิธีการก่อนหน้านี้สำหรับการแบ่งไฟล์ Comma Separated Values ​​(CSV) ออกเป็นส่วนย่อยๆ ไม่ได้ทำให้ไฟล์เสียหายทั้งหมด แต่ช่วยให้สามารถนำเข้าเอกสาร CSV จำนวนมากไปยัง Microsoft Excel และใช้แอปพลิเคชัน Power Pivot เป็นวิธีการหลีกเลี่ยงข้อจำกัดในการจำกัดแถวที่กำหนดโดย Excel เอง ผู้ใช้จึงสามารถจัดการข้อมูลภายในซอฟต์แวร์ได้โดยไม่ถูกจำกัดด้วยข้อจำกัดดังกล่าว

/th/images/use-power-pivot-to-break-up-csv-excel.jpg

คุณทำได้โดยการสร้างลิงก์ข้อมูลไปยังไฟล์ CSV จากนั้นใช้ Power Pivot เพื่อจัดการเนื้อหา สำหรับคำอธิบายและบทช่วยสอนแบบเต็ม โปรดอ่าน [บล็อกของ Jose Barreto](https://docs.microsoft.com/en-gb/archive/blogs/josebda/loading-csvtext-files-with-more-than-a-million-แถวลงใน excel) รายละเอียดกระบวนการ

โดยพื้นฐานแล้ว Barreto ได้แสดงความเชี่ยวชาญในการสร้าง Pivot Table ที่รองรับได้ถึง 8.5 ล้านแถวโดยไม่มีปัญหาใดๆ ดังที่อธิบายไว้ในภาพประกอบ ตัวอย่างปัจจุบันแสดงให้เห็นการใช้งานประมาณ 2 ล้านแถวภายใน Microsoft Excel

แม้ว่ากระบวนการดังกล่าวจะไม่แยกส่วนไฟล์ CSV ออกเป็นส่วนย่อยๆ แต่ก็มีสิ่งทดแทนที่น่าสนใจ นั่นคือความสามารถในการดำเนินการกับ CSV ภายใน Microsoft Excel สำหรับผู้ที่ต้องการคำแนะนำเพิ่มเติม อาจสำรวจการใช้ Pivot Table เป็นวิธีการวิเคราะห์ข้อมูล

แยก CSV ขนาดใหญ่ทางออนไลน์โดยใช้ Split CSV

นอกจากนี้ยังมีบริการออนไลน์ที่แบ่งไฟล์ CSV ขนาดใหญ่ของคุณออกเป็นส่วนย่อยๆ ตัวเลือกหนึ่งคือ Split CSV ซึ่งเป็นตัวแยก CSV ออนไลน์ฟรี

/th/images/split-csv-online-splitting-tool.png

การแยกไฟล์ CSV เป็นวิธีที่มีประสิทธิภาพในการจัดการชุดข้อมูลขนาดใหญ่ โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับข้อมูลจำนวนมากที่เกี่ยวข้องกับการแพร่ระบาดของ COVID-19 ที่กำลังดำเนินอยู่ เครื่องมือที่เรียกว่า"แยก CSV"เป็นตัวเลือกหนึ่งที่ช่วยให้ผู้ใช้สามารถแบ่งไฟล์ออกเป็นส่วนที่เล็กลงและสามารถจัดการได้มากขึ้นโดยระบุจำนวนแถวที่ต้องการต่อ chunk แม้ว่าวิธีการนี้จะเป็นประโยชน์ในการจัดการชุดข้อมูลดังกล่าว แต่ประสบการณ์ส่วนตัวของฉันก็ถูกจำกัดเนื่องจากไม่มีไฟล์ CSV ขนาดใหญ่ที่เหมาะสมในขณะที่ทำการทดสอบ ดังนั้น ประสิทธิภาพและความน่าเชื่อถือที่แท้จริงของ Split CSV อาจแตกต่างกันไปขึ้นอยู่กับแต่ละสถานการณ์

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

แบ่งไฟล์ CSV ของคุณออกเป็นส่วนๆ ที่จัดการได้ง่าย

ต่อไปนี้เป็นวิธีการ 5 วิธีในการแยกส่วนไฟล์เก็บถาวรที่มีค่าที่คั่นด้วยเครื่องหมายจุลภาค (CSV) เพื่ออำนวยความสะดวกในการจัดการ แต่ละเทคนิคมีความเร็วในการประมวลผลและขีดจำกัดความจุไฟล์ที่แตกต่างกัน จำเป็นต้องลองผิดลองถูกเพื่อพิจารณาว่าวิธีใดเหมาะกับคุณที่สุด โดยเฉพาะอย่างยิ่ง วิธีการแบ่ง CSV เหล่านี้ทำงานได้อย่างมีประสิทธิภาพทั้งบน Windows 10 และ Windows Server ทำให้ผู้ใช้สามารถใช้ยูทิลิตี้การทำลายเอกสาร CSV ออนไลน์บนแพลตฟอร์มต่างๆ รวมถึง macOS และ Linux