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

[文本处理] 批处理如何提取固定范围的数据并写到excel中?

比如我有以下格式的文本文件
  1. 001 12345675 赵一        a
  2. 002 2345678 钱二二      b
复制代码
。。。
要提取分成
  1. 001 234567 赵一  a
  2. 002 345678 钱二二 b
复制代码
并写到excel表不同的单元格中,请高手赐教,谢谢~
数据长度是固定的,每一行的0~3,5~11类似这样

回复 7# ms22
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1-4" %%i in ('type "1.txt"') do (
  4.     set "column1=%%i"
  5.     REM 只处理第一列包含字母s的行
  6.     if "!column1:s=!" neq "%%i" (
  7.         set str=%%j
  8.         set str=!str:~1,6!
  9.         echo %%i,!str!,%%k,%%l
  10.     )
  11. ))>2.csv
复制代码
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

为什么要这样 话说。~~~~

TOP

为什么要这样 话说。

TOP

回复 6# gawk
  1. 000001s9999   1xxxx1xxx
  2. 000002e
  3. 000003s9999   1xxxx1xxx
复制代码
类似这样的,如果这一行前面是s的话后面是有数据,e是没有的

TOP

回复 5# ms22


    先说第二个,你给出包含e和s的测试数据,我修改代码。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 4# gawk
数据连在一起的问题我试着改改成功了,现在就是1.如何变成文本格式。2.想添加一个判断,判断每一行第1个是s的话就进行处理,e的话就跳过这一行
不好意思啊,问题有点多,还请多多指点,谢谢

TOP

回复 3# ms22


    2、3、4列全部连在一起?还是有些是连在一起的,有些是空格分开的?
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

本帖最后由 ms22 于 2015-4-30 08:38 编辑

回复 2# gawk
多谢高手指点,试了一下是可行的,能再帮帮忙吗?谢谢
1.假如2,3,4列是连在一起的,中间没有空格分隔怎么写,好像用tokens不能分啊
2.取出来的数字写入excel变成科学计数法,怎么变成文本格式

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1-4" %%i in ('type "1.txt"') do (
  4.     set str=%%j
  5.     set str=!str:~1,6!
  6.     echo %%i,!str!,%%k,%%l
  7. ))>2.csv
复制代码
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

返回列表