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

準備 Microsoft Excel中 它非常適合處理許多日常任務。但有時你可能會遇到它的一個缺點:電子表格的大小。繼續閱讀,了解如何縮小 Excel 電子表格或將大型 CSV 檔案拆分為多個檔案。

為什麼要將大型 CSV 檔案拆分為多個檔案?

您可能會想,「為什麼我需要將一個大型 Excel 檔案拆分成多個較小的檔案?」這是一個有趣的問題,特別是因為 Excel 電子表格的行數限制為 1。

超過一百萬行聽起來似乎很驚人。然而,達到行數限制比你想像的要容易,尤其是在執行某些任務時。

例如,如果您正在進行電子郵件行銷,您可以匯入包含數百萬個電子郵件地址的 CSV 檔案。唯一的問題是,如何管理包含如此多地址的電子表格?此外,如果有人(從其他應用程式)向您發送已超出限制的 CSV 文件,該怎麼辦?

如果這聽起來像是您可能會遇到的問題,請查看以下五種將大型 CSV 或 Excel 檔案拆分為多個較小檔案的方法。

手邊沒有大型 CSV 文件,但想在家嘗試?我正在使用一套 COVID-19開放研究數據 對於這些範例,您也可以下載並使用。

1. 使用應用程式拆分 CSV 文件

市面上有許多好用的 CSV 分割應用。以下是其中兩個最好的。溫馨提示:雖然這些應用程式可以正常運作,但有時會遇到記憶體問題,這是 CSV 分割應用的常見問題。

免費巨型 CSV 拆分器

準備 免費巨型 CSV 拆分器 一款用於拆分 CSV 檔案的基本應用程式。您可以輸入要拆分的 CSV 檔案、要使用的行數,然後選擇 分割檔案行數決定了最終得到多少個輸出檔。

CSV拆分器

CSV拆分器 這是第二個應用程式。它提供與 Free Huge CSV Splitter 相同的功能,但設計略顯優雅。它可以快速將您的 CSV 檔案拆分成更小的部分,並允許您指定要處理的行數。

2.使用批次文件

接下來,您可以建立一個可編程的批次檔。您可以使用該批次檔來處理 CSV 文件,將其分割成更小的部分,並自訂文件以提供不同的部分。

開啟一個新的文字文檔,然後複製並貼上以下內容:

@echo off setlocal ENABLEDELAYEDEXPANSION REM 編輯此值以更改需要拆分的文件的名稱。請包含擴充名。 SET BFN=HCAHPSHospital.csv REM 編輯此值以變更每個檔案的行數。 SET LPF=2500 REM 編輯此值以變更每個短檔案的名稱。名稱後面會跟著一個數字,指示其在列表中的位置。 SET SFN=HospitalSplitFile REM 請勿變更此行之後的任何內容。 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!%!S % ifUum li 是 p. LineNum=0 SET /A FileNum+=1 ) ) endlocal Pause

在執行批次檔之前,您需要先對其進行設定。我將解釋每個命令的作用,您可以根據批次檔的格式和所需的輸出進行修改。

  • “SET BFN=" 應該指向您想要拆分的 CSV 檔案。
  • “SET LPF=” 是您想要限制新檔案的行數。
  • “SET SFN="” 是拆分檔案的新命名方案。

輸入變數後,轉到 文件 -> 另存為. 選擇檔名,然後選擇 孑孓。然後選擇新儲存的文字檔案並按 F2 重新命名。替換格式 TXT。 b 。BAT 然後按“好的當出現警告時,您現在可以將較大的 CSV 檔案拆分為較小的輸出檔案。

3.使用 PowerShell 腳本拆分 CSV 文件

您可以使用 批次檔 對於各種日常任務,PowerShell 腳本速度更快,尤其是對於這種類型的處理和分區。

以下腳本可快速將大型 CSV 檔案拆分為較小的檔案。

首先,按 CTRL + X. 若要開啟 Windows 快速存取選單,請選擇 PowerShell的如果 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) {Epid -Orr. $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 檔案位於 C:\使用者\加文 檔案名稱為 output_done_1.csv。您可以透過更改以下行來更改輸出名稱 $OutputFilenamePattern = '輸出完成'.

您可以在以下位置找到原文 SP傑夫.

4. 使用 Power Pivot 拆分大型 CSV 文件

將大型 CSV 檔案拆分成多個小檔案的倒數第二個解決方案實際上並沒有拆分檔案。相反,它允許您將大型 CSV 檔案上傳到 Excel,然後使用 Power Pivot 工具開啟它。沒錯;您可以有效地忽略 Excel 的行數限制,並在應用程式中管理檔案。

您可以透過建立指向 CSV 檔案的資料鏈接,然後使用 Power Pivot 管理內容來實現此目的。有關完整的說明和教程,請閱讀本文。 何塞·巴雷托 其中解釋了該過程的細節。

簡而言之,Barreto 可以創建「多達 8.5 萬行的資料透視表,完全沒有問題」。上面的圖片取自部落格文章,顯示了 Excel 中總共使用了 2 萬行資料。

請記住,此過程不會將 CSV 檔案拆分成更小的部分。但是,這意味著您可以在 Excel 中處理 CSV 文件,這是一個非常有用的替代方案。如果您需要更多技巧,請了解如何 使用數據透視表分析數據.

5. 使用 Split CSV 在線拆分 CSV 文件

還有一些線上服務可以將大型 CSV 檔案拆分成多個小部分。其中一個選項是 拆分 CSV ,一個免費的線上 CSV 解析器。

拆分 CSV 服務能夠很好地處理 COVID-19 資料集,將其拆分成易於使用的區塊。與其他工具一樣,您可以指定每個檔案的行數並允許其拆分。不過,我沒有提供大型 CSV 檔案進行測試,因此您的體驗可能會有所不同。

拆分 CSV 也包含付費選項。支付訂閱費用後,您可以使用自訂分隔符號、選擇輸出檔案類型、從輸出檔案中刪除特定字元以及刪除重複行。

將 CSV 檔案拆分為易於處理的部分

現在,您有五個解決方案可以將 CSV 檔案分割成更小的區塊,從而更輕鬆地管理它們。這些解決方案的速度和可處理的 CSV 檔案大小各不相同,因此您可能需要嘗試才能找到最適合您的方案。您還可以了解更多關於 在 Microsoft Excel 中拆分儲存格的 3 種方法.

轉到頂部按鈕