如何拆分一個大的CSV文件分成多個文件?

如何拆分一個大的CSV文件分成多個文件?

CSV文件是一個Excel表格文件。這正是能夠與人們每天都要面對的任務數量龐大只是應付程序。乍一看,它可能看起來Excel表格是無限的,但在現實中卻是沒有了,這將是相當困難的一個簡單的用戶進行驗證。但是,如果你在這裡和正在讀這篇文章,那麼你就明白究竟可能是什麼問題。

它有什麼作用

為什麼將大型CSV文件的技能成幾個較小的有用嗎? Excel中有超過一百萬的行和列其武庫中一點點,如果你只是看片,它可能看起來很難完全填好,但實際上它比你想像的更容易。

讓我們想像一種情況:你自己是與銷售或任何服務的提供相關的一個相當大的業務。你工作的時間像樣的數目,所以你必須隨時為您的電子郵件地址和姓名的一個龐大的客戶群。您已成功導入CSV文件,你知道整個表已滿。下一步是什麼?

然後是理解是,管理如此龐大的表是非常困難的,即使你知道各種“刁鑽”的Excel技巧,知道如何使用過濾器和公式。或者有可能是這樣的情況,有人給你發這樣的文件,有時它甚至可能超過了極限,如果它是在其他程序中創建。

第一種方式是拆分使用程序

還有的在網上說能CSV文件較大應付分裂成幾個小的程序數量充足,但不是所有的人都與任務完全應付,所以我們會考慮這個類別在這個只有最好的方案文章。

1.免費巨大的CSV分配器。

這一方案被認為是分裂的CSV文件的基本工具。它根據一個非常簡單的原理工作:您需要選擇要分割的文件,並指定要使用的行數,然後單擊“分割文件”按鈕。

2. 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. If 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==” %%1 in (%BFN%) Do (
SET /A LeneNum+=1
echo %%1 >> %SFN%!FileNum! .%SFX%
if !LineNum! EQU !LPF! (
SET /A LineNum=0
SET /A LineNum+=1
)
)
endlocal
Pause
源代碼:如何分割一個巨大的CSV Excel電子表格到單獨的文件

但是,把你的時間,因為你需要在開始之前配置批處理文件。要理解這一點是如何工作的,你需要了解為什麼,以及如何在上述工程中使用的每個命令。

“SET BFN”是一個非常重要的命令,因為它指定CSV文件被分割。

該SET LPF命令會顯示有多少行將會在新的文件。

SET SFN負責新的分割文件將如何命名。

現在,讓我們到了有趣的部分的舉動 - 使用生成的文件。要做到這一點,單擊文件>另存為>選擇一個文件名。在那之後,選擇相同的文件,然後按F2鍵,這將有可能改變這個文件從.txt為.bat格式。警告會出現,你需要同意,然後單擊確定。

遵循以下步驟後,您可以成功將CSV文件拆分為較小的文件。

第三種方法是使用powershell腳本

當然,您可以使用以前的方法使用批處理文件來分割大型CSV文件,但值得了解PowerShall腳本要更快,更方便,也更適合現代裝配。

首先,用戶需要進入特殊的Windows電源菜單。為此,他必須按鍵組合CTRL + R.打開的菜單將包含PowerShall。如果由於某種原因此方法不起作用,那麼您可以在“開始”中直接在搜索欄中輸入PowerShell,然後選擇“最佳匹配”。之後,您需要編寫以下腳本:

$InputFilename = Get-Content ‘C:filelocation’
$0outputFilenamePattern = ‘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.Lenght) {
$file++
$Filename = “$OutputFilenamePattern$file.csv”
$InputFilename[$start..($line-1)] | Out-File $Filename -Force
$start = $line;
£i = 0
Write-Host “$Filename”
}
$i++;
$line++
}
代碼源:如何將巨大的Excel CSV電子表格拆分為單獨的文件

在使用此腳本之前,您需要了解,而不是“fileLocation”應該寫入CSV文件的位置,需要拆分。

第四種方式是使用Power Pivot

實際上,Power Pivot不會將CSV文件分成多個小文件;它的工作方式略有不同。

要使用它,您需要將CSV文件上傳到Excel,然後使用此程序打開它。事實證明,事實上,文件不分開,它仍然是一個整體,但同時使用該程序,可以繞過一百萬行的限制。相信它與否,有些人利用此選項的人在論壇上發布了一張屏幕截圖,在論壇上顯示了200百萬行的Excel。

第五個方法是使用在線服務來分割CSV文件

如果您不想處理可能對每個人似乎不易解決的腳本,則可以使用免費在線CSV分隔符。

其中一個服務是拆分CSV。它與上面討論的前兩個程序相同的方式與上面討論的方式相同,唯一的差異是所有動作在互聯網上發生,而不是在計算機本身中。

該程序完全可以自由使用,並且通過使用HTML5,所有計算都在您自己的計算機上完成。您的數據未在Internet上上傳,您的CSV文件將安全地切割成您自己的計算機上的較小塊。

  • 免費的在線拆分CSV服務具有以下功能:
  • 選擇標題線數;
  • CSV拆分後每頁選擇行數。

總結:拆分CSV文件的各種方法是什麼?

如果由於達到Microsoft Excel或某些CSV查看器中最大數量的列和行而無法打開或完全加載的幾個大型CSV文件,則需要將CSV文件拆分。

有許多不同的CSV文件分離器軟件和在線工具可用於拆分文件。

因此,我們熟悉五種不棘手的方式,您可以輕鬆輕鬆地拆分大型CSV文件,甚至學習如何使用該程序在Excel中打開它。

常見問題

是否可以使用PowerShell腳本來拆分CSV文件?
是的,您可以使用Powershall腳本分離文件。這種方法將更快,更方便,也更適合現代建築。




評論 (0)

發表評論