Contents

如何將巨大的 CSV Excel 電子表格拆分為單獨的文件

Microsoft Excel 非常適合處理許多日常任務。但時不時地,您會遇到它的缺點之一:電子表格的大小。我們介紹瞭如何縮小 Excel 電子表格或將大型 CSV 文件拆分為多個文件,並提供多種方法供您選擇。

為什麼要將大型 CSV 拆分為多個文件?

人們可能會思考是否有必要將大量的 Microsoft Excel 文檔分成幾個更易於管理的部分,特別是考慮到 Excel 對單個工作表中的最大行數(相當於 1,048,576)施加了限制。

雖然令人印象深刻,但超過一百萬行可能比最初預期更容易實現,特別是在完成特定操作(例如利用大型 CSV 文件進行電子郵件營銷活動)時。在這種情況下,導入大量電子郵件地址可能會給管理和組織大型數據集帶來重大挑戰。此外,如果遇到來自外部源的 CSV 文件超出了行限制,則需要考慮更多的複雜情況。

如果您發現自己面臨這樣的困境,我建議您研究一下這五種策略,將大量的 CSV 或 Excel 文檔劃分為更易於管理的部分。

手頭沒有大型 CSV 文件,但想在家玩?我在示例中使用了 COVID-19 開放研究數據集,您可以下載和使用也。

使用程序分解 CSV 文件

在軟件市場中可以找到兩種用於分割 CSV 文件的信譽良好的工具。然而,值得注意的是,雖然這些應用程序很有效,但它們偶爾可能會遇到內存限制,這是此類程序的普遍問題。

免費巨大的 CSV 拆分器

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

免費的 Huge CSV Splitter 是一款基本應用程序,設計用於分割逗號分隔值 (CSV) 文件,沒有任何復雜的功能。要啟動該過程,用戶必須提供他們想要分區的特定 CSV 文件,指定所需的行數,然後單擊“拆分文件”。行數是軟件生成的最終輸出文檔數量的決定因素。

CSV 分割器

/bc/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

為了使批處理文件正常運行,在執行之前必須進行一系列配置。我將闡明腳本中每個指令的用途,使您可以根據特定批處理文件的規範以及所需的結果靈活地調整它們。

為了使用該軟件工具,需要通過在“BFN”變量中輸入其路徑來指定需要處理的 CSV 文件。

為了限制新生成的文件中的行數,必須指定名為“LPF”的變量的值,它代表“限制精度因子”。

上述修訂後的命名法(表示為“SET SFN=”)已被實施,以指定我們網絡存儲基礎設施內各個數據段的最新迭代。

輸入所有必要的信息後,導航至“文件”,然後選擇“另存為”。在隨後的窗口中,為文件指定名稱並選擇保存位置。接下來,單擊“保存”,然後需要選擇最近保存的文本文檔。此後,按“F2”鍵將允許將文件從“.txt”重命名為“.bat”。出現提示時,單擊“確定”確認操作。此過程使您能夠將大量的 CSV 文件分成多個較小的輸出文件。

使用 PowerShell 腳本分解 CSV 文件

PowerShell 為執行日常操作提供了一種高效的解決方案,因為它特別適合處理複雜的數據操作和處理任務,包括文件和目錄管理、系統配置以及重複過程的自動化。其先進的功能使其成為一個強大的工具,與簡單的批處理文件相比,它提供了更大的靈活性、可擴展性和性能增強,從而補充了傳統的批處理腳本功能。

本腳本有效地將大量逗號分隔值 (CSV) 文件劃分為更易於管理的部分。

請執行以下步驟在基於 Windows 的系統上訪問 Windows PowerShell:1.同時按下鍵盤上的“CTRL + X”鍵打開 Windows 電源菜單。2.從菜單中顯示的選項中,選擇“PowerShell”。3。如果“PowerShell”選項不可用,請導航至“開始”菜單並使用關鍵字“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 文件。在這種情況下,輸出文件將根據“output\done\”模式命名,並保存在原始 CSV 所在的文件夾中。但是,如果需要,可以通過調整變量“$OutputFilenamePattern”來修改命名約定。

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

您可以在 SPJeff 找到原始腳本。

使用 Power Pivot 分解大型 CSV

上述將大量逗號分隔值 (CSV) 文件分割成較小部分的方法並不能完全分解它。相反,它使人們能夠將龐大的 CSV 文檔導入到 Microsoft Excel 中,並使用 Power Pivot 應用程序作為規避 Excel 本身設置的行限制約束的一種手段。因此,用戶能夠在軟件內操作數據,而不受此類限制的約束。

/bc/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-rows-into-excel)詳細說明了該過程。

從本質上講,Barreto 已經展示了毫無困難地生成可容納多達 850 萬行的數據透視表的熟練程度。如附圖所示,當前示例展示了 Microsoft Excel 中大約 200 萬行的使用情況。

雖然所討論的過程不會將 CSV 文件分割成更小的部分,但它確實提供了一個有吸引力的替代方案-在 Microsoft Excel 中操作 CSV 的能力。對於那些尋求額外指導的人,可以探索利用數據透視表作為進行數據分析的一種手段。

使用分割 CSV 在線分割大型 CSV

還有一些在線服務可以將您的大 CSV 文件分成更小的部分。其中一個選項是 Split CSV,這是一個免費的在線 CSV 拆分器。

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

拆分 CSV 文件可能是管理大型數據集的有效方法,特別是在處理與持續的 COVID-19 大流行相關的大量數據時。一種名為“Split CSV”的工具允許用戶通過指定每個塊所需的行數將文件分成更小、更易於管理的部分。據報導,這種方法在處理此類數據集方面很有用,但由於測試時缺乏合適的大型 CSV 文件,我的個人經驗有限。因此,Split CSV 的實際性能和可靠性可能會因個人情況而異。

拆分 CSV 功能還提供了象徵性訂閱費用的高級選項。您可以靈活地使用定制的分隔符、選擇特定的文件格式進行導出、刪除生成文檔中不需要的字符以及消除重複的內容。

將 CSV 文件分解為易於管理的塊

以下是對逗號分隔值 (CSV) 檔案進行分段的五種方法,以方便其處理。每種技術都有不同的處理速度和文件容量限制,需要反複試驗才能確定哪種方法最適合您。值得注意的是,這些 CSV 分割方法在 Windows 10 和 Windows Server 上都能有效運行,使用戶能夠在包括 macOS 和 Linux 在內的各種平台上使用在線 CSV 粉碎實用程序。