使用Windows批处理脚本在CSV文件中添加列

本·理查德

我有一个带有管道(|)分隔符的csv文件,如下所示。列标题由6列定义,但行值具有7列。

Column 1|Column 2|Column 3|Column 4|Column 5|Column 6
Value 1 |Value 2 |Value 3 |Value 4 |Value 5 |Value 6 |0
Value 11|Value 12|Value 13|Value 14|Value 15|Value 16|0

因此,我尝试使用Windows批处理脚本创建新列。

这是我的代码:

@Echo off&Setlocal EnableExtensions EnableDelayedExpansion
Set Row=0
( for /f "tokens=1-7 delims=|" %%A in (BAT0071.csv) do (
    Set /A Row+=1
    If !Row! lss 2 (Rem new header
      echo %%A^|%%B^|%%C^|%%D^|%%E^|%%F^|IgnoreLast
    ) Else (Rem insert duplicate values
      echo %%A^|%%B^|%%C^|%%D^|%%E^|%%F^|%%G
    )
  )
) >"BAT0071.tmp"
move /y "BAT0071.tmp" "BAT0071.csv"
PAUSE

问题是,如果所有行的值都被填充,那么它就好了,但是第一行中的示例值3为空,那么结构如下所示发生了变化。

Column 1|Column 2|Column 3|Column 4|Column 5|Column 6|IgnoreLast
Value 1 |Value 2 |Value 4 |Value 5 |Value 6 |0|
Value 11|Value 12|Value 13|Value 14|Value 15|Value 16|0

如何使空值保持不变?

预期结果

Column 1|Column 2|Column 3|Column 4|Column 5|Column 6|IgnoreLast
Value 1 |Value 2 |Value 3 |Value 4 |Value 5 |Value 6 |0
Value 11|Value 12|Value 13|Value 14|Value 15|Value 16|0
格哈德

在这种情况下,由于您没有添加其他值,因此我们根本不使用delims

@Echo off&Setlocal EnableExtensions EnableDelayedExpansion
Set Row=0
(for /f "delims=" %%a in (BAT0071.csv) do (
    Set /A Row+=1
    If !Row! equ 1 (
      echo %%a^|IgnoreLast
    ) else (
      echo %%a
    )
 )
)>BAT0071.tmp
move /y "BAT0071.tmp" "BAT0071.csv"
PAUSE

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过 Windows 批处理脚本在 csv 文件中添加字符串

来自分类Dev

Windows批处理脚本:解析CSV文件并提取数据

来自分类Dev

在Windows中从批处理脚本将逗号添加到txt文件

来自分类Dev

在Windows中从批处理脚本将逗号添加到txt文件

来自分类Dev

在Windows中从批处理脚本向txt文件添加定界符

来自分类Dev

使用批处理脚本从xml文件获取标签值并将结果保存到csv文件中

来自分类Dev

用于获取csv文件的动态列的批处理脚本问题?

来自分类Dev

使用批处理脚本,如何使用正则表达式拆分 .csv 文件中的数据?

来自分类Dev

如何使用批处理脚本删除Windows 7中许多文件的文件名的某些部分?

来自分类Dev

如何使用批处理脚本解析csv文件?

来自分类Dev

在Windows 7中使用批处理脚本检查主机文件中的实体?

来自分类Dev

如何从 Windows 中的批处理文件乘以 CSV 表中的列

来自分类Dev

Windows回收站中的批处理脚本移动文件

来自分类Dev

使用Windows批处理脚本删除可写文件

来自分类Dev

在 Windows 批处理脚本中使用 FOR LOOP 创建多个文件

来自分类Dev

使用 Windows 批处理脚本从文本文件中删除前几行

来自分类Dev

使用批处理脚本,在文本文件中每行的特定列处写入文本

来自分类Dev

使用批处理脚本仅读取分隔文件中的特定列

来自分类Dev

使用批处理文件替换 csv 文件中的 (C*)

来自分类Dev

使用批处理脚本提取文件中的路径列表

来自分类Dev

使用脚本在批处理文件中运行django shell

来自分类Dev

如何使用批处理脚本遍历目录中的文件

来自分类Dev

使用批处理脚本在目录中获取文件名

来自分类Dev

使用批处理脚本在文件中插入行

来自分类Dev

Windows批处理脚本用于多个文件

来自分类Dev

批处理文件以删除csv中的列

来自分类Dev

使用 .csv 文件上的批处理对同一列中的每个内容分别求和总值

来自分类Dev

使用powershell编辑Windows批处理文件中的文件

来自分类Dev

使用批处理将csv文件加载到mysql中?

Related 相关文章

  1. 1

    通过 Windows 批处理脚本在 csv 文件中添加字符串

  2. 2

    Windows批处理脚本:解析CSV文件并提取数据

  3. 3

    在Windows中从批处理脚本将逗号添加到txt文件

  4. 4

    在Windows中从批处理脚本将逗号添加到txt文件

  5. 5

    在Windows中从批处理脚本向txt文件添加定界符

  6. 6

    使用批处理脚本从xml文件获取标签值并将结果保存到csv文件中

  7. 7

    用于获取csv文件的动态列的批处理脚本问题?

  8. 8

    使用批处理脚本,如何使用正则表达式拆分 .csv 文件中的数据?

  9. 9

    如何使用批处理脚本删除Windows 7中许多文件的文件名的某些部分?

  10. 10

    如何使用批处理脚本解析csv文件?

  11. 11

    在Windows 7中使用批处理脚本检查主机文件中的实体?

  12. 12

    如何从 Windows 中的批处理文件乘以 CSV 表中的列

  13. 13

    Windows回收站中的批处理脚本移动文件

  14. 14

    使用Windows批处理脚本删除可写文件

  15. 15

    在 Windows 批处理脚本中使用 FOR LOOP 创建多个文件

  16. 16

    使用 Windows 批处理脚本从文本文件中删除前几行

  17. 17

    使用批处理脚本,在文本文件中每行的特定列处写入文本

  18. 18

    使用批处理脚本仅读取分隔文件中的特定列

  19. 19

    使用批处理文件替换 csv 文件中的 (C*)

  20. 20

    使用批处理脚本提取文件中的路径列表

  21. 21

    使用脚本在批处理文件中运行django shell

  22. 22

    如何使用批处理脚本遍历目录中的文件

  23. 23

    使用批处理脚本在目录中获取文件名

  24. 24

    使用批处理脚本在文件中插入行

  25. 25

    Windows批处理脚本用于多个文件

  26. 26

    批处理文件以删除csv中的列

  27. 27

    使用 .csv 文件上的批处理对同一列中的每个内容分别求和总值

  28. 28

    使用powershell编辑Windows批处理文件中的文件

  29. 29

    使用批处理将csv文件加载到mysql中?

热门标签

归档