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

[文本处理] 求批处理把一个带分隔符的长字符串拆成一行行的

本帖最后由 zhengwei007 于 2024-1-5 15:12 编辑

我有个csv文件,里面有很多类似的样式如下,我随意粘了3行,请大家帮忙看看,可以直接粘到csv里。
  1. 1 adena 7 10 100 70 apprentice's_shoes 1 1 63.7931 cloth_shoes 1 1 12.069 leather_sandals 1 1 12.069 short_gloves 1 1 12.0689 10.9692 stem 1 1 75 suede 1 1 25 1.3062
  2. 3 adena 25 35 100 70 apprentice's_earing 1 1 30.9859 magic_ring 1 1 46.0094 necklace_of_magic 1 1 23.0047 15.1467 varnish 1 1 11.3636 coal 1 1 11.3636 charcoal 1 1 11.3636 rp_bow 1 1 9.0909 wooden_arrow 20 39 56.8183 6.0713
  3. 4 adena 34 48 100 70 short_leather_gloves 1 1 33.3333 cotton_shoes 1 1 33.3333 crude_leather_shoes 1 1 33.3334 2.4971 stem 1 1 75 suede 1 1 25 2.5262
复制代码
如果英文名称后面是4组数字,则将数字直接写在后面,然后另起一行。
如果英文名称后面是3组数字,则将将后面出现4组数字的最后一组,写到前面的最后一组给补齐即可。
所以根据上面的内容,我希望通过批处理操作后,自动调整成以下格式:
  1. 1 adena 7 10 100 70
  2. 1 apprentice's_shoes 1 1 63.7931 10.9692
  3. 1 cloth_shoes 1 1 12.069 10.9692
  4. 1 leather_sandals 1 1 12.069 10.9692
  5. 1 short_gloves 1 1 12.0689 10.9692
  6. 1 stem 1 1 75 1.3062
  7. 1 suede 1 1 25 1.3062
  8. 3 adena 25 35 100 70
  9. 3 apprentice's_earing 1 1 30.9859 15.1467
  10. 3 magic_ring 1 1 46.0094 15.1467
  11. 3 necklace_of_magic 1 1 23.0047 15.1467
  12. 3 varnish 1 1 11.3636 6.0713
  13. 3 coal 1 1 11.3636 6.0713
  14. 3 charcoal 1 1 11.3636 6.0713
  15. 3 rp_bow 1 1 9.0909 6.0713
  16. 3 wooden_arrow 1 1 56.8183 6.0713
  17. 4 adena 34 48 100 70
  18. 4 short_leather_gloves 1 1 33.3333 2.4971
  19. 4 cotton_shoes 1 1 33.3333 2.4971
  20. 4 crude_leather_shoes 1 1 33.3334 2.4971
  21. 4 stem 1 1 75 2.5262
  22. 4 suede 1 1 25 2.5262
复制代码
这个是我把json格式的多余字符全删除了,这玩意原本是json。。。谢谢各位大佬。

py写的,不严谨,请小心测试,另外,json本身是啥样的,有可能简单一点
wanghan519 发表于 2024-1-5 15:12


不好意思,我没有PY的运行环境,也不太会用,最好是vbs。我把Json分享一下。

TOP

  1. 1 additional_make_multi_list={{{{[adena];7;10;100}};70};{{{[apprentice's_shoes];1;1;63.7931};{[cloth_shoes];1;1;12.069};{[leather_sandals];1;1;12.069};{[short_gloves];1;1;12.0689}};10.9692};{{{[stem];1;1;75};{[suede];1;1;25}};1.3062}}
  2. 3 additional_make_multi_list={{{{[adena];25;35;100}};70};{{{[apprentice's_earing];1;1;30.9859};{[magic_ring];1;1;46.0094};{[necklace_of_magic];1;1;23.0047}};15.1467};{{{[varnish];1;1;11.3636};{[coal];1;1;11.3636};{[charcoal];1;1;11.3636};{[rp_bow];1;1;9.0909};{[wooden_arrow];20;39;56.8183}};6.0713}}
  3. 4 additional_make_multi_list={{{{[adena];34;48;100}};70};{{{[short_leather_gloves];1;1;33.3333};{[cotton_shoes];1;1;33.3333};{[crude_leather_shoes];1;1;33.3334}};2.4971};{{{[stem];1;1;75};{[suede];1;1;25}};2.5262}}
复制代码
这是他原来的JESON格式。

TOP

那我去试试你上面的PY

TOP

本帖最后由 zhengwei007 于 2024-1-5 16:25 编辑

python我是一点不会,我进入环境了但不会运行~
我把文件发你,可以帮我导一下吗?
链接:https://pan.baidu.com/s/1jiRecvqIOPAw4dwRjOaGFw
提取码:eurj
--来自百度网盘超级会员V9的分享

TOP

回复  zhengwei007


    这也不是json啊。。。
没有可用的工具,能想到的就是用perl或者c#里正则的平 ...
wanghan519 发表于 2024-1-5 15:45



   
可以帮我加个写到一个新的文件中吗?我用网上的在线编译,可以使用。但内容过多,复制不完整。请帮我在代码最下面加一个可以生成一个新的文件,将所有结果全部写到b.csv里吧。

TOP

谢谢大家,已经解决了!

TOP

返回列表