使用命令将csv文件按三列sorting?

使用命令将csv文件按三列sorting?,第1张

概述使用命令将csv文件按三列sorting?

我读了很多文章在stackoverflow,但我仍然无法做sorting。

情况是这样的:

我有一个没有标题的9列的csv文件,如下所示:

D,0000001,2016/01/01 01:00,111,0.000,0000008,10.000,NET,Computer B,0000002,2016/01/01 01:30,Computer C,0000003,2016/01/01 02:00,121,ORG,Computer E,COM,Computer

我想要的输出是2(000001),6(0000008),8(NET)列的顺序,并输出到新的csv文件,如下所示:

在windows 10命令行中启用git

如何使用命令提示符更新不可变的Js新版本..?

在windows中的Swipl prolog清除屏幕

如何复制/剪切文件(而不是内容)到命令行中的windows剪贴板?

使用EXIF增加序列号

C,Computer D,Computer

我已经尝试了这样的代码,但不工作:

@echo off setlocal for /F "tokens=1-9 delims=," %%a in (input.csv) do set a[%%b,%%a,%%c,%%d,%%e,%%f,%%g,%%h,%%i] =%% for /F "tokens=2-10 delims=[,]=" %%a in ('set a[') do echo %%b,%%i

有人可以帮助我吗? 我是input命令脚本的新手。

如何使用RHS上的cygwin sed使用windows set命令

单行使用windowsbatch file的多个命令

如何按照用户input指定的次数运行一个命令?

有没有在批处理脚本的方式保持控制台打开只有从windowspipe理器调用?

如何使用windows命令行search文件,然后用位置创build文本文档?

你的方法很好。 只是字段值的顺序不正确设置为获得所需的输出排序顺序。

@echo off if not exist input.csv goto :EOF setlocal for /F "tokens=1-9 delims=," %%a in (input.csv) do set "a[%%b,%%i]=%%" del input.csv for /F "tokens=2-10 delims=[,]=" %%a in ('set a[') do echo %%d,%%b,%%i>>input.csv endlocal

这里创建的环境变量是%%b,%%i而不是%%b,%%i当然也需要%%d,%%i输出。

你几乎拥有它:

@echo off setlocal for /F "tokens=1-9 delims=," %%a in (input.csv) do set "a[%%b%%f%%h]=%%a,%%i" for /F "tokens=2 delims==" %%a in ('set a[') do echo %%a

但是,显示的结果并不像您在问题中所述的那样排序。 如果你想要%%f字段的%%f ,你可以使用这个:

@echo off setlocal EnableDelayedExpansion for /F "tokens=1-9 delims=," %%a in (input.csv) do ( set /A "invF=100000000-1%%f" set "a[%%b!invF!%%h]=%%a,%%i" ) for /F "tokens=2 delims==" %%a in ('set a[') do echo %%a

总结

以上是内存溢出为你收集整理的使用命令将csv文件按三列sorting?全部内容,希望文章能够帮你解决使用命令将csv文件按三列sorting?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1231960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存