Board logo

标题: [文本处理] 请问BAT脚本批量从1000个文件中提取有用数据信息,生成对应的1000个excel的文件 [打印本页]

作者: chifengdong    时间: 2021-11-8 17:59     标题: 请问BAT脚本批量从1000个文件中提取有用数据信息,生成对应的1000个excel的文件

我现在有1000个名字为1.result.g2x,2.result.g2x...1000.result.g2x文件,这些文件是可以用文本编辑器打开,想从里面提取有用数据并转化为excel。例如:1070行<points>后的第一个数是节点1的X坐标,第二个数为节点1的Y坐标;第三个数为节点2的X坐标,第四个数为节点2的Y坐标。观察可以发现同一个节点的X坐标与Y坐标之间用逗号分割,而不同节点之间用分号分割。请问如何通过批量处理得到对应的1000个名称为1,2,...1000的excel文件,每个excel文件第一列为节点号1到1000,第二列为节点1到1000的X坐标,第三列为节点1到1000的Y坐标。
作者: yakeyun    时间: 2021-11-8 19:22

回复 1# chifengdong


可以直接生成TXT文本,然后你直接复制进去。EXCEL没办法直接用批处理操作,除非用Shell.
体外“        ”这个符号在文本中是一个长空格,但是复制到EXCEL就是表格的分隔符。其可用“TAB”键输入,一个“tab”代表一列。
作者: qixiaobin0715    时间: 2021-11-8 20:27

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /l %%i in (1,1,1000) do (
  4.     for /f "delims=;" %%a in ('findstr "points.[1-9][0-9]*,[1-9][0-9]*;[1-9][0-9]*,[1-9][0-9]*" %%i.result.g2x') do (
  5.         set "str=%%a"
  6.         echo,%%i,!str!
  7.     )
  8. ))>New.csv
  9. pause
复制代码
.csv文件可以用Excel打开。




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