[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【已解决】【50元求助】bat处理csv指定列,

本帖最后由 78785858 于 2022-4-14 00:18 编辑

因为无法上传附件,所以用文本表示:

原始数据
csv有很多列  只需要 节选第7列和第24列内容

名称        明细
R8888        aaaaa1(明细1,)*1
R8888        aaaaa1(明细1,)*1
R8886        aaaaa2(明细1,)*1
R8885        aaaaa3(明细1,)*2
R8884        aaaaa4(明细1,)*2
R8883        aaaaa1(明细1,)*3
R8882        aaaaa2(明细1,)*3
R8881        aaaaa1(明细1,)*4
R8880        aaaaa2(明细1,)*4
R8879        aaaaa1(明细1,)*5
R8878        aaaaa3(明细1,)*2
R8877        aaaaa4(明细1,)*2
R8876        aaaaa3(明细1,)*2
R8876        aaaaa3(明细1,)*2

输出结果
明细        数量        名称
aaaaa1        5        R8888
aaaaa1        5        R8883
aaaaa1        5        R8881
aaaaa1        5        R8879
aaaaa3        4        R8885
aaaaa3        4        R8878
aaaaa3        4        R8876
aaaaa2        3        R8886
aaaaa2        3        R8882
aaaaa2        3        R8880
aaaaa4        2        R8884
aaaaa4        2        R8877


excel手动操作实现步骤如下,
1、left(明细列,6)
2、countif(明细列,b2),得出明细重复的总数
3、删除 名称和明细两列都相同的重复值,
4、明细列降序排列

现求助bat、实现代码

回复 2# went


        + CategoryInfo          : InvalidOperation: ( [],RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

使用“2”个参数调用“Substring”时发生异常:“索引和长度必须引用该字符串内的位置。
参数名: length”
所在位置 行:15 字符: 9
+         @{'a'=$arr[$col1-1];'b'=$arr[$col2-1].SubString(0,6)}
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentOutOfRangeException

好多报错

TOP

回复 4# zaqmlp


   明细不是第7列    名称读取不是第24列,大神麻烦再看看

TOP

zaqmlp 发表于 2022-4-13 22:55



    明细不是第7列    名称读取不是第24列,大神麻烦再看看

TOP

链接: https://pan.baidu.com/s/1U0yNQqdJAdoLHh3NsKrOVA?pwd=n83d 提取码: n83d

原始文件在这里

TOP

回复  78785858


    什么意思?加我微信或网盘分享csv文件
zaqmlp 发表于 2022-4-13 23:39



    加了

TOP

返回列表