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

 实现毛_424 发布于 2023-02-10 11:46

我有一个非常大的.csv文件(> 500mb),我希望在命令提示符中将其分解为更小的.csv文件.(基本上试图在Windows中找到Linux"拆分"功能".

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

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

3 个回答
  • 试试这个:

    @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!变量.希望能帮助到你.

    2023-02-10 11:48 回答
  • 使用cgwin命令SPLIT.样本 - 每500行计算一个文件:split -l 500 [filename.ext]

    更多:split --help

    2023-02-10 11:50 回答
  • 一个免费的Windows应用程序,这样做

    http://www.addictivetips.com/windows-tips/csv-splitter-for-windows/

    2023-02-10 11:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有