windows - 用于拆分 .csv 文件的批处理文件

标签 windows batch-file csv command-prompt

我有一个非常大的 .csv 文件 (>500mb),我希望在命令提示符下将其分解成较小的 .csv 文件。 (基本上是想在 Windows 中找到 linux 的“拆分”功能)。

这必须是一个批处理脚本,因为我的机器只安装了 Windows 并且请求软件很痛苦。我遇到了许多示例代码 ( http://forums.techguy.org/software-development/1023949-split-100000-line-csv-into.html ),但是,当我执行批处理时它不起作用。当我请求它每 20 000 行解析一次时,我得到的只是一个只有 125kb 的输出文件。

有没有人遇到过类似的问题,你们是如何解决的?

最佳答案

试试这个:

@echo off
setLocal EnableDelayedExpansion

set limit=20000
set file=export.csv
set lineCounter=1
set filenameCounter=1

set name=
set extension=
for %%a in (%file%) do (
    set "name=%%~na"
    set "extension=%%~xa"
)

for /f "tokens=*" %%a in (%file%) do (
    set splitFile=!name!-part!filenameCounter!!extension!
    if !lineCounter! gtr !limit! (
        set /a filenameCounter=!filenameCounter! + 1
        set lineCounter=1
        echo Created !splitFile!.
    )
    echo %%a>> !splitFile!

    set /a lineCounter=!lineCounter! + 1
)

如上代码所示,它将原始csv文件拆分为多个csv文件,限制为20000行。您所要做的就是相应地更改 !file!!limit! 变量。希望能帮助到你。

关于windows - 用于拆分 .csv 文件的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602869/

相关文章:

batch-file - 删除所有文件,同时保持目录结构

php - Excel 生成的 CSV,特殊字符消失 (ÆØÅ) - PHP

css - float CSS 问题 - 类似于 Windows 8 的磁贴

c# - 如何获取富文本框字符颜色?

windows - 我如何从 C++ 服务应用程序访问 Windows 登录(身份验证)API?

python - Tkinter Cxfreeze 错误

powershell - 具有延迟变量扩展的 For 循环中 "!"文字问题的解决方法

windows - WMIC 在命令行和 Windows 资源管理器中的不同行为

python - 如何在Python中链接文件对象?

javascript - 使用 Unix 的 sed 将 csv 转换为 javascript 对象