Board logo

标题: [文本处理] 已解决 [打印本页]

作者: xiuan    时间: 2021-1-15 22:02     标题: 已解决

本帖最后由 xiuan 于 2021-1-21 22:43 编辑

1111111111111
作者: flashercs    时间: 2021-1-16 07:21

是多个csv合并成一个?举个例子
作者: xiuan    时间: 2021-1-16 09:25     标题: 11111111111

本帖最后由 xiuan 于 2021-1-21 22:42 编辑

111111111111
作者: xiuan    时间: 2021-1-16 09:28

回复 2# flashercs

多个CSV


这个是普通合并代码
copy *.csv 合并.csv
pause
作者: flashercs    时间: 2021-1-16 10:04

本帖最后由 flashercs 于 2021-1-16 10:19 编辑
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. cd /d "%~dp0"
  4. set csvoutput=".\合并\合并.csv"
  5. md ".\合并\" 2>nul
  6. set n=0
  7. (
  8. for /f "delims=" %%A in ('dir /a-d /b *.csv') do (
  9.     for /f "usebackq skip=7 delims=" %%B in ("%%A") do (
  10.       echo %%B
  11.     )
  12. )
  13. )>%csvoutput%
  14. endlocal
  15. pause
  16. exit /b
复制代码

作者: Batcher    时间: 2021-1-16 20:47

回复 3# xiuan


用你给出的两个csv文件做测试:
导出性能结果_20200814_073932_HOST02.csv
导出性能结果_20200814_073932_HOST03.csv

5楼代码耗时约 2.4 秒
D:\Test>timeit Test_5.bat 2>&1 | find "Elapsed"
Elapsed Time:     0:00:02.439

假设原始csv单个文件不超过6万多行
把5楼代码第9到11行改成:
more +7 %%A
耗时降低到 1.1 秒左右
D:\Test>timeit Test_more.bat 2>&1 | find "Elapsed"
Elapsed Time:     0:00:01.106
作者: Gin_Q    时间: 2021-1-21 15:02

搞定了,把帖子结了吧!
作者: Batcher    时间: 2021-1-21 23:18

回复 1# xiuan


    请尊重他人花费时间帮你写代码!
作者: netdzb    时间: 2021-1-22 13:18

回复 1# xiuan

问题解决不要修改问题贴,版规你不看吗?
你的问题也许会对别人有帮助。
真是一个很自私的人,下次再犯错误直接封禁账号。




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