Board logo

标题: [文本处理] 【已解决】bat文件处理含较多数据txt时无结果 [打印本页]

作者: VinC    时间: 2022-1-23 15:06     标题: 【已解决】bat文件处理含较多数据txt时无结果

本帖最后由 VinC 于 2022-2-20 09:12 编辑

想将txt文件中的数据(以“和空格分隔)变成1列(即每个数是一行)并存入test.csv,我写了如下代码,经测试该代码对数据量少的txt文件是可行的,但是含有较多数据时就不能了,test.csv中空白。请教是什么问题?

数据例子:1 2 3
变成1
      2
      3
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=  tokens=*" %%a in (01.txt) do (
  3.    for %%B in (%%a) do echo %%B
  4. ))>"test.csv"
  5. pause&exit
复制代码

作者: hlzj88    时间: 2022-1-23 19:24

可能是突破了Excel行数最大值。
其外没有发现有问题。
作者: Batcher    时间: 2022-1-23 22:52

回复 1# VinC


    含有较多数据的文件有多大?请压缩之后上传网盘,以便他人理解需求、测试代码。
作者: VinC    时间: 2022-1-25 14:14

回复 3# Batcher


    您好,我已经测试数据上传至百度网盘,请帮我测试下,谢谢啦(链接:https://pan.baidu.com/s/1KxhMnbmkMfdw_cRpESVVZg
提取码:ft5i)
作者: VinC    时间: 2022-1-25 14:15

回复 2# hlzj88


    应该不会,因为成功的数据只有几百行。我已经数据传输至百度网盘,您方便的话帮我看一下是啥问题,谢谢了(链接:https://pan.baidu.com/s/1KxhMnbmkMfdw_cRpESVVZg
提取码:ft5i)
作者: VinC    时间: 2022-1-25 14:16

相应的数据我已上传至网盘,请各位帮忙看一下,谢谢啦(链接:https://pan.baidu.com/s/1KxhMnbmkMfdw_cRpESVVZg
提取码:ft5i)
作者: Batcher    时间: 2022-1-25 15:13

回复 4# VinC


看过你的原始文件之后发现不是行太多,而是列太多。试试这样:
  1. @echo off
  2. powershell -c "Get-Content 01.csv | Foreach-Object {$_ -replace """`t""", """`r`n"""}" > 01_New.csv
复制代码

作者: went    时间: 2022-1-25 15:44

借助certutil
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 输入 01.csv
  4. set "in_file=01.csv"
  5. REM 输出 test.csv
  6. set "out_file=test.csv"
  7. REM 处理
  8. del /f tmp.hex >nul 2>nul
  9. certutil -encodehex 01.csv t1.hex
  10. (
  11. for /f "delims=" %%i in (t1.hex) do (
  12. set "line=%%i"
  13. REM 空格,制表符,双引号替换
  14. for %%a in (09 20 22) do set "line=!line:%%a =0a !"
  15. echo !line!
  16. )
  17. )>"t2.hex"
  18. certutil -decodehex t2.hex test.csv
  19. del t*.hex
  20. pause&exit
复制代码

作者: VinC    时间: 2022-2-20 09:19

回复 7# Batcher


    感谢帮助,简单的一行代码就能解决大问题,厉害厉害!已申请加群,希望能向各位大佬学习(由于前段时间一直在弄别的事情,没及时登录)
作者: VinC    时间: 2022-2-20 09:20

回复 8# went


    谢谢帮助,虽然还没懂为啥这么写,但是亲测管用!(由于前段时间在忙别的事情,所以一直没登录批处理之家)




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2