如何将一个巨大的csv excel电子表格分割成单独的文件

microsoftexcel的缺点之一是电子表格的大小有限。如果您需要缩小Excel文件或拆分一个大的CSV文件,请继续阅读!...

microsoftexcel在很多日常工作中都非常出色。但有时,您会遇到它的一个缺点:电子表格的大小。继续阅读,了解如何缩小Excel电子表格或将大型CSV文件拆分为多个文件。

lot-of-numbers-on-a-spreadsheet-3d-render

为什么要将一个大的csv分割成多个文件?

您可能会想,“为什么我需要将一个大型Excel文件拆分为多个较小的文件?”这是一个有趣的问题,尤其是Excel的电子表格行数限制为1048576。

超过100万行听起来很惊人。但是,达到行限制比您想象的要容易,特别是在某些任务中。

例如,如果您通过电子邮件进行营销,您可能会导入包含数百万电子邮件地址的CSV文件。唯一的问题是,如何管理一个包含这么多地址的电子表格?此外,如果有人发送的CSV已经超出了限制(来自另一个程序)?

如果这听起来像是您可能要面对的问题,请查看以下五种将大型CSV或Excel文件拆分为多个较小文件的方法。

没有一个大的CSV文件方便,但想在家玩吗?我正在使用示例中的covd-19开放研究数据集,您也可以下载和使用这些数据集。

1使用程序分解csv文件

有几个有用的CSV拆分程序在那里。这里有两个最好的。公平的警告,虽然这些程序正在工作,他们有时会遇到内存问题,这是一个常见的问题,为CSV分裂程序。

免费巨大的csv拆分器

split csv file program

免费的巨大CSV分割器是一个基本的CSV分割工具。输入要分割的CSV文件、要使用的行数,然后选择“分割文件”。行计数决定最终输出的文件数。

csv拆分器

csv splitter split large file

CSV拆分器是第二个工具。它提供了与免费的巨大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. 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

您需要在运行之前配置批处理文件。我将告诉您每个命令的作用,您可以根据批处理文件的大小以及所需的输出对其进行更改。

  • “SET BFN=”应指向需要分解的CSV
  • “SET LPF=”是要限制新文件的行数
  • “SET SFN=”是分割文件的新命名方案

输入变量后,请转到“文件”>“另存为”。选择文件名,然后选择“保存”。然后,选择新保存的文本文件并按F2键将其重命名。将.txt扩展名替换为.bat,并在出现警告时按OK。现在,您可以将大的CSV文件拆分为较小的输出文件。

三。使用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) {
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文件。例如,我的CSV文件位于C:\Users\Gavin,文件名为output\u done\u 1.CSV。您可以通过更改$OutputFilenamePattern='output\u done\u'行来更改输出名称。

powershell script to split excel csv file **aller

你可以在SPJeff找到原始脚本。

4使用power pivot分解大型csv

你的倒数第二个解决方案是把一个大的CSV文件分解成小块,但实际上并没有分解它。相反,它允许您将大量CSV文件加载到Excel中,并使用powerpivot工具打开它。是的;您可以有效地忽略Excel行限制并在程序中管理文件。

use power pivot to break up csv excel

通过创建到CSV文件的数据链接,然后使用powerpivot管理内容,可以实现这一点。要获得完整的解释和教程,请阅读Jose Barreto的博客,其中详细介绍了该过程。

简而言之,Barreto创建一个Pivot表时使用了“最多850万行,没有任何问题。”上面的图片来自博客文章,显示了Excel中总共有200万行正在使用。

记住,这个过程不会将CSV分割成小块。不过,这确实意味着您可以在Excel中操作CSV,这是一个非常方便的选择。如果需要更多提示,请了解如何使用数据透视表进行数据分析。

5使用拆分csv联机拆分大型csv

还有一些在线服务可以将你的大CSV文件分解成更小的文件。一个这样的选择是splitcsv,一个免费的在线CSV拆分器。

split csv online splitting tool

SplitCSV管理COVID-19数据集,将其拆分为方便的块。与其他工具一样,您定义每个文件的行计数,并让它分割。但是,我没有一个大型CSV文件来测试,因此,您的体验可能会有所不同。

Split CSV还包括高级选项。对于订阅费,您可以使用自定义分隔符、选择输出文件类型、从输出文件中删除某些字符以及删除重复行。

将csv文件分解为易于管理的块

现在有五种解决方案可以将CSV文件分解成小块,使其易于管理。这些解决方案的速度和它们可以管理的CSV文件的大小各不相同,因此您可能需要进行实验,以找到最适合您的解决方案。

图片来源:lucadp/Depositphotos

  • 发表于 2021-03-12 16:05
  • 阅读 ( 708 )
  • 分类:互联网

你可能感兴趣的文章

什么是microsoft power query for excel?开始使用它的5个理由

... powerquery将您的更改保存为一个称为“Query”的文件中的步骤,该文件可以随时使用。如果你熟悉的话,可以把它想象成VBA编程中的宏。 ...

  • 发布于 2021-03-19 07:00
  • 阅读 ( 1082 )

如何将带分隔符的文本文件转换为excel电子表格

...包含文本文件中的值的字符。我们之前讨论过文本限定符如何帮助您将一些值导入一个单元格而不是单独的单元格。 ...

  • 发布于 2021-03-19 08:31
  • 阅读 ( 350 )

满足您电子表格需求的10个最佳excel替代方案

...视化至关重要,尤其是在现代商业世界中。microsoftexcel是一个广泛使用的电子表格程序,它允许您可视化和排列数据。它为您提供了大量的功能。 ...

  • 发布于 2021-03-27 02:34
  • 阅读 ( 376 )

如何从outlook导出电子邮件

... Outlook允许您以各种格式导出邮件。我们将根据您计划如何使用导出的电子邮件(包括在Outlook之外使用它们),向您显示要使用哪一个。 ...

  • 发布于 2021-03-30 14:53
  • 阅读 ( 364 )

如何同步microsoft excel电子表格

您可以同步Microsoft Excel电子表格,以确保其中一个电子表格中的更改将自动反映在另一个电子表格中。可以在不同的工作表以及单独的Excel工作簿之间创建链接。我们来看看三种方法。 使用粘贴链接功能同步excel电子表格 Excel中...

  • 发布于 2021-04-02 02:22
  • 阅读 ( 189 )

如何链接到microsoft planner中的单个任务

...想谈论一个单一的任务时,它是一个生硬的工具。下面是如何链接到一张单独的卡片,以使讨论特定任务更容易一些。 如果你在MicrosoftPlanner中负责一个计划,你可能需要与从事该任务的人交谈,并使用电子表格或定制的报告工...

  • 发布于 2021-04-02 07:10
  • 阅读 ( 129 )

如何将excel工作表另存为pdf

...且完成的文件通常与我们希望的显示方式不同。下面介绍如何将工作表保存为可读的干净PDF文件。 excel文件作为PDF 在许多情况下,您可能希望将Excel文档保存为PDF文件而不是电子表格。例如,如果希望只发送较大图纸的特定部...

  • 发布于 2021-04-02 09:01
  • 阅读 ( 323 )

如何将outlook日历导出为csv文件

有时一次查看日历中的所有事件会很有用。Outlook允许您将两个日期之间的所有事件导出到单个CSV文件中。下面是它的工作原理。 想知道去年市场部的查德邀请你参加了多少无意义的会议吗?想知道你的上司上次和你一对一是什...

  • 发布于 2021-04-02 09:51
  • 阅读 ( 211 )

如何在excel中将一个长列转换成多个列

...数据,将其拆分为新的单独列,同时保留原始列不变。 如何在excel中使用文本到列 microsoftexcel包含一个特殊功能,允许您拆分超长列。它通过使用分隔符(如逗号或分号)分隔列来实现这一点,这些分隔符可以分割数据。 该功...

  • 发布于 2021-04-02 17:51
  • 阅读 ( 203 )

googlesheets初学者指南

...。我们将复习基本知识,让您熟悉什么是googlesheets,以及如何立即开始。 googlesheets是一个免费的、基于web的电子表格程序,由Google提供,作为其完整的office套件Google Drive的一部分,以与微软office竞争。基于云的套件中包含的其...

  • 发布于 2021-04-03 11:22
  • 阅读 ( 282 )
ynt58723
ynt58723

0 篇文章

相关推荐