Board logo

标题: [文本处理] 批处理如何整理数据(可能会比较繁琐)? [打印本页]

作者: zx112244    时间: 2013-6-26 17:18     标题: 批处理如何整理数据(可能会比较繁琐)?

楼主要收集公司数据,所以要整理,但是一个个整理又太麻烦了  所以想到来咱们论坛里求助一下,

数据格式如下:
XXXXXXXX有限公司
联 系  人:XX 先生 (这个地方是职位) 给我留言
查看公司介绍   查看信用状况
电      话:86 XXXX    XXXXXXXX
移动电话: 139XXXX5048
传      真:86 XXXX   XXXXXXXX
地      址:中国 江苏 XXXXXXXXXX



要求:1.第二行的 “查看公司介绍   查看信用状况”  这行去掉
         2.然后有时候会出现重复的数据就是公司名称联系方式联系人都重复的那种,排除这些重复的
         3.传真不要
         4.称呼后面的东西不要  ,后面的文字也是不一样的
  


需要格式:
无锡市佳利达塑胶化工有限公司
联 系  人:盛晓阳 先生
电      话:86 0510 83831886
移动电话: 13665159870
地      址:中国 江苏 无锡市 无锡市洛社镇东工业区新雅路72号







各位大大  欢迎来搞
作者: terse    时间: 2013-6-27 11:15

这个不难搞吧
作者: xxpinqz    时间: 2013-6-27 14:27

把一段数据整成一行数据,然后删除重复后再输出,应该这思路吧
作者: terse    时间: 2013-6-27 17:11

本帖最后由 terse 于 2013-6-29 00:20 编辑

楼主提供的资料并不详细 仅针对 一楼 的代码
想用FINDSTR 过滤 但考虑 公司名首字符含"查传地"这样的字符 就放弃了
用了计数判断
修正一个错误
对了你说的编号 怎么个编法 最好一次把情况 描述详细点
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in (a.txt) do (
  3.     set "var=%%i"
  4.     set /a n+=1
  5.     if !n! leq 3 (
  6.        if !n! neq 3 if !n! neq 1 (
  7.           for %%j in ("!str!") do if "!var:%%~j=!" == "%%i" (
  8.               for /f "tokens=1* delims=:" %%a in ("%%i") do (
  9.                   for /f "tokens=1,2" %%m in ("%%b") do echo %%a:%%m %%n
  10.               )
  11.           )
  12.        ) else set str=%%i&echo %%i
  13.     ) else if !n! neq 6 if !n! neq 8 (
  14.               echo %%i
  15.               if !n! equ 7 echo;
  16.            ) else set n=0
  17. )
  18. pause
复制代码

作者: zx112244    时间: 2013-6-28 18:10

回复 5# terse


    谢谢大大回复哈
    截个图给你看
   数据之间我一般会空上一行
  最好是把整理结果输出到文本里编好号的
作者: 522235677    时间: 2013-6-28 20:51

应该很简单的
作者: terse    时间: 2013-6-28 23:37

回复 6# zx112244
和顶楼提供数据有出入 最后的邮编行是否保留?
5楼暂修正




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