Roachin 发表于 2014-2-17 12:03:46

「已解决」关于两个txt档合并

本帖最后由 Roachin 于 2014-2-17 16:56 编辑

想请问各位前辈
我有两个txt档,我想合并
=====txt1========
标题1;标题2;标题3
X8Y229G-77;http://192.168.0.1/XXXX/XXXX
W9T229P-66;http://192.168.0.1/XXX/XXXXX

======txt2========
标题a;标题b
西吧勿二二九基杠凄凄;1
无久踢二二九批杠六六;1

=====想合并成==========
标题1;标题2;标题3
X8Y229G-77;http://192.168.0.1/XXXX/XXXX西吧勿二二九基杠凄凄;1
W9T229P-66;http://192.168.0.1/XXX/XXXXX无久踢二二九批杠六六;1




本想打开一个txt1循环在开另一个循环在写入txt3但发现有问题,请前辈指导
Local $sR = FileRead('txt1.txt'))
If @Error Then Exit -1
   
          FileWrite("结果.txt","货号;网址;数量"&@CRLF)

For $i = 1 To UBound($sR) - 1
      
                FileWrite("txt3.txt" , ($sR[$i])&@CRLF)

        Next

afan 发表于 2014-2-17 12:36:38

;~Local $Str1 = FileRead('txt1.txt')
Local $Str1 = _
                '标题1;标题2;标题3' & @CRLF & _
                'X8Y229G-77;http://192.168.0.1/XXXX/XXXX' & @CRLF & _
                'W9T229P-66;http://192.168.0.1/XXX/XXXXX'

;~Local $Str2 = FileRead('txt2.txt')
Local $Str2 = _
                '标题a;标题b' & @CRLF & _
                '西吧勿二二九基杠凄凄;1' & @CRLF & _
                '无久踢二二九批杠六六;1'

Local $aSR1 = StringRegExp($Str1, '\V+', 3)
If @error Then Exit
Local $aSR2 = StringRegExp($Str2, '\V+', 3)
If @error Then Exit

If UBound($aSR1) <> UBound($aSR2) Then Exit (MsgBox(48, '注意', '两份行数不一致。'))

Local $sOut = $aSR1 & @CRLF, $i, $OutFile = 'txt3.txt'
For $i = 1 To UBound($aSR1) - 1
        $sOut &= $aSR1[$i] & $aSR2[$i] & @CRLF
Next
FileWrite(FileOpen($OutFile, 2), $sOut)

Roachin 发表于 2014-2-17 16:55:28

afan大

非常感谢指导,对于我这个基础不好的受益良多,谢谢
已解决

ak47gglllk 发表于 2014-9-4 08:58:53

感谢,感谢,学习了,非常感谢
页: [1]
查看完整版本: 「已解决」关于两个txt档合并