Cách tách một file Excel CSV lớn thành các file nhỏ | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách tách một file Excel CSV lớn thành các file nhỏ

Chia sẻ kiến thức 09/06/2022

Một trong những thiếu sót của Microsoft Excel là kích thước hạn chế của bảng tính. Nếu bạn cần thu nhỏ tệp Excel của mình hoặc chia nhỏ tệp CSV lớn, hãy đọc tiếp!

Cách tách một file Excel CSV lớn thành các file nhỏ

Microsoft Excel rất xuất sắc trong rất nhiều công việc hàng ngày. Nhưng một trong những thiếu sót của nó là kích thước của một bảng tính. Đọc tiếp để tìm hiểu cách thu nhỏ bảng tính Excel hoặc chia tệp CSV lớn thành nhiều tệp.

1. Tại sao phải chia một tệp CSV lớn thành nhiều tệp nhỏ?

Excel có giới hạn số hàng tối đa trong bảng tính là 1.048.576.

Hơn 1 triệu hàng nghe có vẻ là một con số khổng lồ. Tuy nhiên, việc đạt đến giới hạn hàng dễ hơn bạn nghĩ, đặc biệt là trong một số tác vụ nhất định. Ví dụ: nếu bạn đang tiếp thị qua email, bạn có thể nhập tệp CSV chứa hàng triệu địa chỉ email.

Vấn đề là làm thế nào để quản lý một bảng tính với nhiều địa chỉ email như vậy? Hơn nữa, điều gì sẽ xảy ra nếu ai đó gửi cho bạn một CSV đã vượt quá giới hạn (từ một chương trình khác)?

Nếu đó có vẻ là vấn đề bạn có thể gặp phải, hãy xem năm cách sau để chia tệp CSV hoặc Excel lớn thành nhiều tệp nhỏ hơn.

Bạn không có sẵn tệp CSV lớn? Tôi đang sử dụng Tập dữ liệu nghiên cứu mở COVID-19 trong các ví dụ, bạn cũng có thể tải xuống và sử dụng nó.

>>> Đọc ngay: Cách cài đặt và cấu hình Tmux cho Linux

2. Chia nhỏ các tệp CSV bằng một chương trình

Có một số chương trình chia CSV hữu ích trên mạng. Dưới đây là hai trong số những lựa chọn tốt nhất. Tuy nhiên, các chương trình này  đôi khi gặp sự cố bộ nhớ, đây là một vấn đề phổ biến đối với các chương trình phân tách CSV.

2.1 Free Huge CSV Splitter

 

Free Huge CSV Splitter là một công cụ tách CSV cơ bản. Bạn nhập tệp CSV bạn muốn tách, số dòng bạn muốn sử dụng, sau đó chọn Split File. Số dòng quyết định định số lượng tệp đầu ra mà bạn sẽ nhận được.

2.2 CSV Splitter

 

CSV Splitter cung cấp nhiều chức năng giống như Free Huge CSV Splitter nhưng có thiết kế đẹp hơn một chút. Nó chia CSV của bạn thành nhiều phần nhỏ một cách nhanh chóng, cho phép bạn xác định số dòng bạn muốn sử dụng.

3. Sử dụng batch file

Tiếp theo, tạo một batch file (tệp hàng loạt) có thể lập trình. Bạn có thể sử dụng batch file để xử lý CSV thành các phần nhỏ hơn, tùy chỉnh tệp để phân phối các phần khác nhau.

Mở một tài liệu văn bản mới, sau đó sao chép và dán nội dung sau:

@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

Bạn sẽ cần phải định cấu hình batch file trước khi chạy. Tôi sẽ cho bạn biết mỗi lệnh có chức năng gì và bạn có thể thay đổi nó cho phù hợp với kích thước batch file của mình cũng như đầu ra được yêu cầu.

  • “SET BFN=” phải trỏ đến CSV bạn cần chia nhỏ
  • SET LPF=” là số hàng bạn muốn giới hạn tệp mới của mình
  • “SET SFN=” là cách đặt tên mới cho các tệp phân tách của bạn

Khi bạn đã nhập các biến của mình, hãy chuyển đến File > Save As (Tệp> Lưu dưới dạng). Chọn một tên tệp và chọn Save. Sau đó, chọn tệp văn bản mới lưu của bạn và nhấn F2 để đổi tên. Thay phần mở rộng .txt bằng.bat và nhấn OK khi cảnh báo xuất hiện. Giờ đây, bạn có thể chia tệp CSV lớn của mình thành các tệp đầu ra nhỏ hơn.

>>> Đọc ngay: Cách cập nhật tất cả ứng dụng trên Linux trong vài giây

4. Sử dụng tập lệnh PowerShell để chia nhỏ tệp CSV

So với các batch file, các tập lệnh PowerShell nhanh hơn, đặc biệt là đối với kiểu xử lý và phân chia này.

Tập lệnh sau nhanh chóng cắt CSV lớn của bạn thành các tệp nhỏ hơn.

Đầu tiên, nhấn CTRL + X để mở Windows Power Menu, sau đó chọn PowerShell. Hoặc nhập powershell vào thanh tìm kiếm trên Menu Bắt đầu của bạn và chọn Best Match (Phù hợp nhất).

Bây giờ, hãy sao chép và dán đoạn mã 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++
}

Thay thế vị trí tệp trong dòng đầu tiên bằng tệp CSV của bạn, sau đó chạy tập lệnh. Tập lệnh xuất ra các tệp CSV nhỏ hơn trong thư mục người dùng của bạn. Ví dụ: các tệp CSV của tôi được tìm thấy tại C:\Users\Gavin với tên tệp output_done_1.csv. Bạn có thể thay đổi tên đầu ra bằng cách thay đổi dòng $OutputFilenamePattern = ‘output_done_’

Bạn có thể tìm thấy script gốc tại SPJeff .

5. Chia nhỏ một CSV lớn bằng Power Pivot

Giải pháp cuối cùng của bạn để chia nhỏ tệp CSV lớn thành các bit nhỏ không thực sự chia nhỏ nó. Thay vào đó, nó cho phép bạn tải tệp CSV lớn của mình vào Excel và sử dụng công cụ Power Pivot để mở tệp đó. Bạn có thể bỏ qua giới hạn dòng Excel một cách hiệu quả và quản lý tệp trong chương trình.

Bạn đạt được điều này bằng cách tạo liên kết dữ liệu đến tệp CSV, sau đó sử dụng Power Pivot để quản lý nội dung. Để có giải thích và hướng dẫn đầy đủ, hãy đọc blog của Jose Barreto về quy trình này.

Nói tóm lại, Barreto tạo Pivot Table bằng cách sử dụng “tối đa 8,5 triệu hàng mà không gặp vấn đề gì”. Hình ảnh trên lấy từ bài đăng trên blog, cho thấy có tổng cộng 2 triệu hàng được sử dụng trong Excel.

Hãy nhớ rằng, quá trình này không chia CSV thành các phần nhỏ. Tuy nhiên, điều đó có nghĩa là bạn có thể thao tác CSV trong Excel, đây là một giải pháp thay thế rất tiện dụng. 

6. Chia nhỏ CSV lớn trực tuyến bằng Split CSV

Ngoài ra còn có các dịch vụ trực tuyến chia nhỏ tệp CSV lớn của bạn thành các bit nhỏ hơn. Một trong những tùy chọn như vậy là Split CSV , một chương trình chia CSV trực tuyến miễn phí.

Split CSV quản lý tốt tập dữ liệu COVID-19, chia nhỏ thành nhiều phần tiện dụng. Như với các công cụ khác, bạn xác định số dòng cho mỗi tệp và để nó chia nhỏ. 

Tách CSV cũng bao gồm các tùy chọn có trả phí. Khi trả phí đăng ký, bạn có thể sử dụng dấu phân cách tùy chỉnh, chọn các loại tệp đầu ra, xóa các ký tự nhất định khỏi tệp đầu ra và xóa các dòng trùng lặp.

7. Chia nhỏ các tệp CSV của bạn thành các tệp có thể quản lý dễ dàng

Giờ đây, bạn có năm giải pháp để chia nhỏ các tệp CSV của mình thành các bit nhỏ, giúp bạn dễ dàng quản lý. Hãy thử nghiệm để tìm ra giải pháp phù hợp nhất với mình. 

>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:

>>> Xem thêm bài viết:

7 mẹo để tùy chỉnh màn hình Cinnamon trong Linux

Arch Linux là gì? Ai nên sử dụng Arch Linux?

Bảng điều khiển ảo Linux là gì? Bảng điều khiển ảo Linux để làm gì?

Cách sử dụng Timeshift để sao lưu và khôi phục hệ thống Linux

 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại