如何将大型CSV文件拆分为多个文件?

如何将大型CSV文件拆分为多个文件?

CSV文件是Excel电子表格文件。这正是能够根据每天面临的大量任务来应对的程序。乍一看,似乎Excel表可能是无限的,但实际上它不是,并且简单的用户将非常困难验证它。但如果您在这里并正在阅读这篇文章,那么您就会理解可能是什么问题。

它是什么

为什么将大型CSV文件划分为几个较小的技能? Excel在其阿森纳中有一百万的行和列,如果你只是看看表格,那么它似乎完全填补它,但实际上它比你想象的更容易。

让我们想象一下情况:您拥有与销售或提供任何服务相关的相当大的业务。您工作的时间很多,所以您可以使用大型客户电子邮件地址和名称。您已成功导入CSV文件,并且您意识到整个表已满。下一步是什么?

然后,理解,管理这么巨大的表是非常困难的,即使你知道各种各样的“棘手”的Excel技巧,知道如何使用过滤器和公式。或者可能存在某些情况,有人向您发送此类文件,有时如果在其他程序中创建时,它甚至可能超过限制。

第一种方法是使用该程序分开

Internet上有足够数量的程序,可以应对将大型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)

发表评论