标题: [文本处理] 【已解决】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- @echo off&setlocal enabledelayedexpansion
- (for /f "delims= tokens=*" %%a in (01.txt) do (
- for %%B in (%%a) do echo %%B
- ))>"test.csv"
- 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
看过你的原始文件之后发现不是行太多,而是列太多。试试这样:- @echo off
- powershell -c "Get-Content 01.csv | Foreach-Object {$_ -replace """`t""", """`r`n"""}" > 01_New.csv
复制代码
作者: went 时间: 2022-1-25 15:44
借助certutil- @echo off & cd /d "%~dp0"
- setlocal enabledelayedexpansion
- REM 输入 01.csv
- set "in_file=01.csv"
- REM 输出 test.csv
- set "out_file=test.csv"
- REM 处理
- del /f tmp.hex >nul 2>nul
- certutil -encodehex 01.csv t1.hex
- (
- for /f "delims=" %%i in (t1.hex) do (
- set "line=%%i"
- REM 空格,制表符,双引号替换
- for %%a in (09 20 22) do set "line=!line:%%a =0a !"
- echo !line!
- )
- )>"t2.hex"
- certutil -decodehex t2.hex test.csv
- del t*.hex
- 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 |