标题: [文本处理] 批处理怎样将两个文本第一列内容相同的行合并成一行? [打印本页]
作者: hengcp 时间: 2017-4-19 11:59 标题: 批处理怎样将两个文本第一列内容相同的行合并成一行?
两个文本合并,按照a文本第一列的字符串,获取b文本的字符串 并合并输出
a文本:
101 a 2
102 b 3
103 c 4
b文本:
101 56
103 58
102 59
输出c文本为:
101 a 2 56
102 b 3 59
103 c 4 58
作者: codegay 时间: 2017-4-19 12:02
python的pandas干这种事可方便了。
作者: hengcp 时间: 2017-4-19 22:24
回复 1# hengcp
用批处理能做的吗
作者: hengcp 时间: 2017-4-19 22:25
回复 2# codegay
用批处理能做的吗 麻烦您了
作者: 老刘1号 时间: 2017-4-19 22:49
回复 4# hengcp
做是可以做,但预计会很麻烦
直接上Findstr的话……效率肯定不高
建议用其他语言
作者: terse 时间: 2017-4-19 23:00
看文件大小了 两个FOR循环 效率不会高 另外b文件首列有重复怎么处理
作者: apython 时间: 2017-4-20 08:38
- for /f "tokens=1-3 delims= " %%i in (d:a.txt) do (
- set/a n+=1
- call :label "!n!" str
- echo,%%i %%j %%k !str!
- )
- pause>exit
-
- :label
- for /f "tokens=1-2 delims= " %%i in (d:b.txt) do (
- set/a a+=1
- if !a! equ %~1 set "%2=%%j"&goto :eof
- )
复制代码
作者: taofan712 时间: 2017-4-20 16:56
- @echo off
- for /f "tokens=1-3" %%a in (a.txt) do for /f "tokens=2" %%i in ('findstr /b %%a b.txt') do echo;%%a %%b %%c %%i
- pause
复制代码
作者: hengcp 时间: 2017-4-25 09:21
回复 8# taofan712
ok,谢谢了
作者: hengcp 时间: 2017-5-9 10:31
taofan712 发表于 2017-4-20 16:56
上面的代码有点小问题,如果 我现在有1011 那他也会把101的给弄出来
作者: hengcp 时间: 2017-5-17 15:21 标题: 两个文件按照主键进行合并的问题
有两个文件:a.txt 和 b.txt
a.txt里头的文本是
192.168.1.1 张三 营运部 总经理
192.168.1.12 李四 业务部 总经理
b.txt里头的文本是
192.168.1.1 1371111111 北京
192.168.1.12 1500500000 山西
使用批处理生成c.txt的格式如下:
192.168.1.1 张三 营运部 总经理 1371111111 北京
192.168.1.12 李四 业务部 总经理 1500500000 山西
请问如何实现 谢谢
作者: Batcher 时间: 2017-5-17 19:53
回复 11# hengcp - gawk "NR==FNR{a[$1]=$2\" \"$3}NR>FNR{print $0,a[$1]}" b.txt a.txt > c.txt
复制代码
作者: /zhqsystem/zhq 时间: 2017-5-17 21:59
水一个- setlocal enabledelayedexpansion
- if not exist "%~dp1b.txt" exit
- for /f "usebackq tokens=1,* delims= " %%i in ("%~dp0a.txt")do (
- set "data=%%i"&&call:1
- echo,%%i %%j !backup!
- )
- pause
- goto:eof
- :1
- set "backup="
- for /f "usebackq tokens=1,* delims= " %%i in ("%~dp0b.txt")do if "%data%"=="%%i" set "backup=%%j"&&goto:eof
- goto:eof
复制代码
作者: filippo009 时间: 2020-12-15 15:47
回复 13# /zhqsystem/zhq
你好,如果是同一个文本中,有重复的怎么实现呢?
这个:http://www.bathome.net/viewthread.php?tid=57307&extra=
作者: netdzb 时间: 2020-12-15 19:44
回复 2# codegay
python的代码能发一下吗?谢谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |