Cách chia một bảng tính CSV Excel khổng lồ thành các tệp riêng biệt
Microsoft Excel rất xuất sắc trong rất nhiều công việc hàng ngày. Nhưng thỉnh thoảng, bạn gặp phải một trong những nhược điểm của nó: kích thước của một bảng tính. Chúng tôi đã đề cập đến cách làm cho bảng tính Excel nhỏ hơn hoặc chia tệp CSV lớn thành nhiều tệp và có một số phương pháp để bạn chọn.
Tại sao phải chia một tệp CSV lớn thành nhiều tệp?
Người ta có thể suy nghĩ về sự cần thiết phải chia các tài liệu Microsoft Excel mở rộng thành nhiều phần dễ quản lý hơn, đặc biệt khi xem xét rằng Excel áp đặt một hạn chế đối với số lượng hàng tối đa trong một trang tính, tương đương với 1.048.576.
Mặc dù rất ấn tượng, nhưng việc vượt quá một triệu hàng có thể đạt được nhiều hơn so với dự đoán ban đầu, đặc biệt là khi hoàn thành các hoạt động cụ thể như sử dụng tệp CSV lớn cho các chiến dịch tiếp thị qua thư điện tử. Trong những trường hợp như vậy, việc nhập số lượng lớn địa chỉ email có thể đặt ra những thách thức đáng kể về mặt quản lý và tổ chức các bộ dữ liệu lớn. Ngoài ra, việc gặp phải tệp CSV có giới hạn hàng bị vượt quá từ các nguồn bên ngoài sẽ khiến bạn phải xem xét thêm các vấn đề phức tạp.
Nếu bạn thấy mình phải đối mặt với tình trạng khó khăn như vậy, tôi khuyên bạn nên kiểm tra năm chiến lược sau để chia tài liệu CSV hoặc Excel quan trọng thành các phần dễ quản lý hơn.
Bạn không có sẵn tệp CSV lớn nhưng muốn chơi cùng ở nhà? Tôi đang sử dụng [Bộ dữ liệu nghiên cứu mở về COVID-19](https://www.kaggle.com/allen-inst acad-for-ai/CORD-19-research-challenge) trong các ví dụ mà bạn có thể tải xuống và sử dụng cũng vậy.
Chia nhỏ tệp CSV bằng chương trình
Có thể tìm thấy hai công cụ uy tín để chia nhỏ tệp CSV trên thị trường phần mềm. Tuy nhiên, điều quan trọng cần lưu ý là mặc dù các ứng dụng này hiệu quả nhưng đôi khi chúng có thể gặp phải các hạn chế về bộ nhớ, đây là vấn đề phổ biến với các chương trình như vậy.
Bộ chia CSV khổng lồ miễn phí
Bộ chia CSV khổng lồ miễn phí là một ứng dụng cơ bản được thiết kế để chia các tệp có giá trị được phân tách bằng dấu phẩy (CSV) mà không có bất kỳ chức năng phức tạp nào. Để bắt đầu quá trình, người dùng phải cung cấp tệp CSV cụ thể mà họ muốn phân vùng, chỉ định số lượng dòng mong muốn và sau đó nhấp vào “Tách tệp”. Số lượng dòng đóng vai trò là yếu tố quyết định số lượng tài liệu đầu ra cuối cùng do phần mềm tạo ra.
Bộ chia CSV
CSV Splitter phục vụ như một tùy chọn thay thế cho những người dùng đang tìm kiếm một cách tiếp cận hợp lý và tinh tế để xử lý lượng lớn dữ liệu ở định dạng được phân tách bằng dấu phẩy. Chức năng cốt lõi của nó vẫn nhất quán với chức năng của đối thủ cạnh tranh, cho phép phân đoạn hiệu quả các tệp csv thành các đơn vị nhỏ hơn dựa trên các tham số do người dùng xác định, chẳng hạn như số lượng dòng. Thiết kế kiểu dáng đẹp và hoạt động liền mạch góp phần mang lại trải nghiệm bóng bẩy hơn cho những người điều hướng qua các bộ dữ liệu phức tạp.
Sử dụng tệp hàng loạt
Tiếp theo trong chương trình làm việc của chúng tôi, chúng tôi sẽ tạo một tệp lô có thể lập trình cho phép chúng tôi xử lý dữ liệu CSV theo các phần có thể quản lý được trong khi điều chỉnh từng đoạn theo các yêu cầu cụ thể. Cách tiếp cận này cho phép linh hoạt hơn và kiểm soát đầu ra do tập lệnh tạo ra.
@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
Để tệp bó hoạt động bình thường, một loạt cấu hình phải được thực hiện trước khi thực hiện. Tôi sẽ làm rõ mục đích của từng lệnh trong tập lệnh, cho phép bạn linh hoạt điều chỉnh chúng theo thông số kỹ thuật của tệp lô cụ thể của bạn, cũng như kết quả mong muốn.
Để sử dụng công cụ phần mềm, cần chỉ định tệp CSV yêu cầu xử lý bằng cách nhập đường dẫn của nó vào biến “BFN”.
Để hạn chế số lượng hàng trong một tệp mới được tạo, người ta phải chỉ định giá trị cho biến có tên là “LPF”, viết tắt của “Limiting Precision Factor.
Danh pháp sửa đổi nói trên, được ký hiệu là “SET SFN=” đã được triển khai để chỉ định lần lặp mới nhất của các phân đoạn dữ liệu riêng lẻ trong cơ sở hạ tầng lưu trữ mạng của chúng tôi.
Khi bạn đã nhập tất cả thông tin cần thiết, hãy điều hướng đến “Tệp”, sau đó là “Lưu dưới dạng”. Trong cửa sổ tiếp theo, đặt tên cho tệp và chọn vị trí lưu. Tiếp theo, nhấp vào “Lưu”, sau đó cần chọn tài liệu văn bản đã lưu gần đây. Sau đó, nhấn phím “F2” sẽ cho phép đổi tên tệp từ “.txt” thành “.bat”. Khi được nhắc, hãy xác nhận hành động bằng cách nhấp vào “OK”. Quá trình này cho phép bạn chia tệp CSV mở rộng của mình thành nhiều tệp đầu ra nhỏ hơn.
Sử dụng Tập lệnh PowerShell để Chia nhỏ Tệp CSV
PowerShell cung cấp một giải pháp hiệu quả để thực hiện các hoạt động thông thường, vì nó đặc biệt phù hợp để xử lý các tác vụ xử lý và thao tác dữ liệu phức tạp, bao gồm quản lý tệp và thư mục, cấu hình hệ thống và tự động hóa các quy trình lặp lại. Các tính năng nâng cao của nó làm cho nó trở thành một công cụ mạnh mẽ bổ sung cho các khả năng tạo tập lệnh hàng loạt truyền thống bằng cách cung cấp tính linh hoạt, khả năng mở rộng và cải tiến hiệu suất cao hơn so với các tệp hàng loạt đơn giản.
Tập lệnh hiện tại phân chia hiệu quả các tệp giá trị được phân tách bằng dấu phẩy (CSV) thành các phần dễ quản lý hơn.
Vui lòng thực hiện các bước sau để truy cập Windows PowerShell trên hệ thống chạy trên Windows:1. Nhấn đồng thời các phím “CTRL + X” trên bàn phím của bạn để mở Menu Windows Power.2. Từ các tùy chọn hiển thị trong menu, chọn “PowerShell”.3. Trong trường hợp “PowerShell” không có sẵn dưới dạng tùy chọn, hãy điều hướng đến Menu Bắt đầu và thực hiện tìm kiếm bằng từ khóa “powershell”. Sau khi định vị, nhấp vào kết quả trên cùng để khởi chạy nó.
Bây giờ, sao chép và dán tập lệnh sau:
$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\+\+
}
Tập lệnh yêu cầu nhập tệp CSV làm dòng mã đầu tiên, sau đó là thực thi. Nó sẽ tạo nhiều tệp CSV nhỏ hơn trong thư mục được chỉ định của người dùng, dựa trên thông số kỹ thuật được cung cấp. Trong trường hợp này, các tệp đầu ra sẽ được đặt tên theo mẫu “đầu ra\ xong\ ” và được lưu trong thư mục chứa tệp CSV gốc. Tuy nhiên, nếu muốn, quy ước đặt tên có thể được sửa đổi bằng cách điều chỉnh biến “$OutputFilenamePattern”.
Bạn có thể tìm thấy tập lệnh gốc tại SPJeff.
Chia nhỏ CSV lớn bằng Power Pivot
Phương pháp trước đây để chia tệp Giá trị được phân tách bằng dấu phẩy (CSV) mở rộng thành các phần nhỏ hơn không phân tách tệp hoàn toàn. Thay vào đó, nó cho phép một người nhập tài liệu CSV khổng lồ vào Microsoft Excel và sử dụng ứng dụng Power Pivot như một phương tiện để phá vỡ ràng buộc về giới hạn hàng do chính Excel đặt ra. Do đó, người dùng có thể thao tác dữ liệu trong phần mềm mà không bị hạn chế bởi những hạn chế đó.
Bạn đạt được điều này bằng cách tạo một liên kết dữ liệu tới tệp CSV, sau đó sử dụng Power Pivot để quản lý nội dung. Để có hướng dẫn và giải thích đầy đủ, hãy đọc blog của Jose Barreto trình bày chi tiết quy trình.
Về bản chất, Barreto đã thể hiện sự thành thạo trong việc tạo Bảng tổng hợp có sức chứa lên tới 8,5 triệu hàng mà không gặp bất kỳ khó khăn nào. Như được mô tả trong hình minh họa kèm theo, một ví dụ hiện tại cho thấy việc sử dụng khoảng 2 triệu hàng trong Microsoft Excel.
Mặc dù quy trình được đề cập không phân mảnh tệp CSV thành các phần nhỏ hơn, nhưng nó cung cấp một giải pháp thay thế hấp dẫn-khả năng hoạt động trên CSV trong Microsoft Excel. Đối với những người đang tìm kiếm hướng dẫn bổ sung, người ta có thể khám phá việc sử dụng Bảng tổng hợp làm phương tiện tiến hành phân tích dữ liệu.
Chia nhỏ CSV trực tuyến lớn bằng Split CSV
Ngoài ra còn có các dịch vụ trực tuyến chia tệp CSV lớn của bạn thành các bit nhỏ hơn. Một tùy chọn như vậy là Split CSV , một bộ chia CSV trực tuyến miễn phí.
Chia nhỏ tệp CSV có thể là một cách hiệu quả để quản lý tập dữ liệu lớn, đặc biệt khi xử lý một lượng dữ liệu đáng kể liên quan đến đại dịch COVID-19 đang diễn ra. Công cụ được gọi là “Split CSV” là một tùy chọn cho phép người dùng chia tệp của họ thành các phần nhỏ hơn, dễ quản lý hơn bằng cách chỉ định số hàng mong muốn trên mỗi đoạn. Mặc dù phương pháp này được báo cáo là hữu ích trong việc xử lý các bộ dữ liệu như vậy, nhưng trải nghiệm cá nhân của tôi bị hạn chế do không có tệp CSV lớn phù hợp tại thời điểm thử nghiệm. Do đó, hiệu suất thực tế và độ tin cậy của Split CSV có thể thay đổi tùy theo từng trường hợp.
Tính năng CSV phân tách cũng cung cấp các tùy chọn nâng cao cho một khoản phí đăng ký danh nghĩa. Bạn có thể linh hoạt sử dụng dấu phân cách tùy chỉnh, chọn định dạng tệp cụ thể để xuất, xóa các ký tự không mong muốn trong tài liệu được tạo và loại bỏ nội dung trùng lặp.
Chia nhỏ các tệp CSV của bạn thành các phần dễ quản lý
Dưới đây là năm phương pháp để phân mảnh kho lưu trữ giá trị được phân tách bằng dấu phẩy (CSV) của bạn, tạo điều kiện thuận lợi cho việc xử lý chúng. Mỗi kỹ thuật có tốc độ xử lý và giới hạn dung lượng tệp khác nhau, cần phải thử và sai để xác định phương pháp nào phù hợp với bạn nhất. Đáng chú ý, các phương pháp phân chia CSV này hoạt động hiệu quả trên cả Windows 10 và Windows Server, cho phép người dùng sử dụng tiện ích băm nhỏ CSV trực tuyến trên nhiều nền tảng bao gồm macOS và Linux.