在Window Batch中-如何解析CSV文件,其中的字段包括逗号和双引号

保罗·Z

我有一个输入CSV文件ttt.csv,该文件以逗号分隔,每个字段都可能包含双引号和逗号:

这是ttt.csv的内容:

"CN=Bar\\,Alex,OU=Users,OU=Headquarters,DC=CORP",Bar,Alex,"Barziza,Alex",BARAAA,[email protected]

"CN=Boo\\,Ryan,OU=Users,OU=Headquarters,DC=CORP",Boo,Ryan,"Boo,Ryan",BABBBB,[email protected]

我需要循环此文件,对于每一行,我需要获取6个值中的每个值,并向数据库创建我的SQL插入语句。

在我的情况下,对于2号线,我将需要获得:

Value1=       CN=Bar\\,Alex,OU=Users,OU=Headquarters,DC=CORP
Value2=       Boo
Value3=       Ryan
Value4=       Boo,Ryan
Value5=       BABBBB
Value6=       [email protected]

我使用了包含双引号的定界符,它似乎不起作用:

set str2="CN=Bar\\,Alex,OU=Users,OU=Headquarters,DC=CORP",Bar,Alex,"Barziza,Alex",BAR‌​AAA,[email protected]
echo %str2%
for /f "tokens=1 delims=(,")" %%a in ("!str2!") do ( set newstr2=%%a )
echo !newstr2!
红色的

正如我在上面评论的那样,只需使用一个普通的for循环-no /f,no /r,no /d,no /l,只是一个普通的简单for循环。它会处理CSV分隔符,同时将引用的内容视为单个令牌。

@echo off
setlocal enabledelayedexpansion

set str2="CN=Bar\\,Alex,OU=Users,OU=Headquarters,DC=CORP",Bar,Alex,"Barziza,Alex",BARAAA,[email protected]
echo %str2%

set idx=0

for %%a in (%str2%) do (
    set "newstr[!idx!]=%%~a"
    set /a idx += 1
)

set newstr

输出:

C:\ Users \ me \ Desktop> test.bat“ CN = Bar \\,Alex,OU = Users,OU = Headquarters,DC = CORP”,Bar,Alex,“ Barziza,Alex”,BARAAA,aaa @ email。 com
newstr [0] = CN = Bar \\,Alex,OU = Users,OU = Headquarters,DC = CORP
newstr [1] = Bar
newstr [2] = Alex
newstr [3] = Barziza,Alex
newstr [4] = BARAAA
newstr [5] [email protected]


如果您的csv数据包含不应被视为标记定界符的未加引号的空格,则可以在分割之前将空格临时转换为下划线,然后像这样转换回去:

@echo off
setlocal enabledelayedexpansion

set str2="CN=Ryan\\,David Paul,OU=Users,OU=Singapore,DC=GLOBAL,DC=CORP",Ryan,David Paul,"Ryan, David Paul",RPAUL123,[email protected]
echo %str2%

set idx=0

for %%a in (%str2: =_%) do (
    set "str=%%~a"
    set "newstr[!idx!]=!str:_= !"
    set /a idx += 1
)

set newstr

如果愿意,可以阅读有关子字符串替换的更多信息输出:

C:\ Users \ me \ Desktop> test.bat
“ CN = Ryan \\,David Paul,OU = Users,OU =新加坡,DC = GLOBAL,DC = CORP”,Ryan,David Paul,“ Ryan,David Paul” ,RPAUL123,David @ aaad.com
newstr [0] = CN = Ryan \\,David Paul,OU =用户,OU =新加坡,DC = GLOBAL,DC = CORP
newstr [1] = Ryan
newstr [2] = David Paul
newstr [3] = Ryan,David Paul
newstr [4] = RPAUL123
newstr [5] [email protected]

当然,如果您的数据已经包含下划线,请使用不包含下划线的字符-反引号,波浪号,美元符号或其他符号。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Perl中,如何解析一个CSV文件,其中的字段包含逗号分隔的值?

来自分类Dev

在Window Batch中-如何从文件中删除前导空格?

来自分类Dev

如何使用php解析CSV,但忽略字符串中的逗号和双引号

来自分类Dev

Bash脚本在.CSV逗号分隔文件中添加双引号

来自分类Dev

使用awk在.CSV逗号分隔文件中添加双引号

来自分类Dev

如何处理csv字符串中的双引号和逗号?

来自分类Dev

Ionicframework中$ window和window之间的区别

来自分类Dev

如何忽略CSV文件中的双引号?

来自分类Dev

正则表达式:按逗号分割,但括号和引号中不包括逗号(单引号和双引号)

来自分类Dev

在Excel 2010中打开文件时,如何在csv文件中保存双引号和分号?

来自分类Dev

DOS Batch:处理XML文件中的双引号

来自分类Dev

如何从python中的csv文件的索引中删除双引号

来自分类Dev

javascript中的window [“ name”]和window.name

来自分类Dev

jquery 中 parseInt($(window).width()) 和 parseInt($(window).width) 的区别?

来自分类Dev

如何使用Python删除csv文件中的双引号(“)?

来自分类Dev

如何从window2调用window1中的函数

来自分类Dev

如何从文件中完全删除双引号和点

来自分类Dev

如何用分号替换逗号并使用bat文件删除文件中的双引号

来自分类Dev

如何在C ++中解析引号和逗号

来自分类Dev

在.csv文件中使用shell脚本将逗号分割成字符串,但是忽略双引号中的逗号?

来自分类Dev

如何从带引号的csv文件中删除逗号?

来自分类Dev

如何使用 Python 在 Spark 1.6 中解析格式不正确的 JSON 字符串,其中包含空格、额外的双引号和反斜杠?

来自分类Dev

解析CSV文件,并在字段中添加逗号

来自分类Dev

Clojure CSV解析引号中的逗号

来自分类Dev

包含文件中的window.onload问题

来自分类Dev

QML中Window和ApplicationWindow之间的区别?

来自分类Dev

在angular中访问$ window和$ logProvider

来自分类Dev

Powershell脚本从CSV中删除双引号,除非双引号内存在逗号

来自分类Dev

删除以逗号分隔并用双引号括起来的CSV中的间隔双引号

Related 相关文章

  1. 1

    在Perl中,如何解析一个CSV文件,其中的字段包含逗号分隔的值?

  2. 2

    在Window Batch中-如何从文件中删除前导空格?

  3. 3

    如何使用php解析CSV,但忽略字符串中的逗号和双引号

  4. 4

    Bash脚本在.CSV逗号分隔文件中添加双引号

  5. 5

    使用awk在.CSV逗号分隔文件中添加双引号

  6. 6

    如何处理csv字符串中的双引号和逗号?

  7. 7

    Ionicframework中$ window和window之间的区别

  8. 8

    如何忽略CSV文件中的双引号?

  9. 9

    正则表达式:按逗号分割,但括号和引号中不包括逗号(单引号和双引号)

  10. 10

    在Excel 2010中打开文件时,如何在csv文件中保存双引号和分号?

  11. 11

    DOS Batch:处理XML文件中的双引号

  12. 12

    如何从python中的csv文件的索引中删除双引号

  13. 13

    javascript中的window [“ name”]和window.name

  14. 14

    jquery 中 parseInt($(window).width()) 和 parseInt($(window).width) 的区别?

  15. 15

    如何使用Python删除csv文件中的双引号(“)?

  16. 16

    如何从window2调用window1中的函数

  17. 17

    如何从文件中完全删除双引号和点

  18. 18

    如何用分号替换逗号并使用bat文件删除文件中的双引号

  19. 19

    如何在C ++中解析引号和逗号

  20. 20

    在.csv文件中使用shell脚本将逗号分割成字符串,但是忽略双引号中的逗号?

  21. 21

    如何从带引号的csv文件中删除逗号?

  22. 22

    如何使用 Python 在 Spark 1.6 中解析格式不正确的 JSON 字符串,其中包含空格、额外的双引号和反斜杠?

  23. 23

    解析CSV文件,并在字段中添加逗号

  24. 24

    Clojure CSV解析引号中的逗号

  25. 25

    包含文件中的window.onload问题

  26. 26

    QML中Window和ApplicationWindow之间的区别?

  27. 27

    在angular中访问$ window和$ logProvider

  28. 28

    Powershell脚本从CSV中删除双引号,除非双引号内存在逗号

  29. 29

    删除以逗号分隔并用双引号括起来的CSV中的间隔双引号

热门标签

归档