2014-02-25 52 views
0

我想写一个VBScript,它将读取CSV文件中的行,并能够将数据从一行匹配到另一行。以下是CSV包含的示例:vbscript从csv文件读取行,匹配数据并写入同一文件

ID,Uplink,Value1,Value2,Downlink,Profile 
ID,UPLINK,156,145,DownlinkP,Profile1 
ID,UPLINK,156,145,DownlinkG,ProfileUnknown 

这只是必须保存的标题,第一行类型和第二行类型。

我的任务:我需要找到一种方法,让脚本执行以下操作:检查是否行包含DownlinkG,如果是的话,它需要找到匹配的值1和值2两行,复制领域Profile1的成ProfileUnknown。这些文件的平均长度为100-200行,但可以轻松达到500-600。

编辑:我意识到使用数组可能是答案,然后我甚至可以将输出写回同一个文件而不是创建新文件。唉,由于某些奇怪的原因,数组一直是我编程时的一个弱点。

+1

您需要*显示*您的脚本,才能帮助您。 –

+0

您是否对纯批量.bat解决方案感兴趣? – Aacini

回答

3

一个数组可能适合你,但我会去另一条路线。你有没有考虑过像CSV文件一样对待你的CSV文件?您可以像连接SQL Server或Access数据库一样连接到结构化文本文件(如CSV)。然后您可以使用SQL来查找匹配的记录。例如:

With CreateObject("ADODB.Connection") 

    .Open "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=C:\MyFolder\;Extensions=csv;" 

    Dim Recordset 
    Set Recordset = .Execute("select Value1,Value2 from YourFile where Downlink='DownlinkG'") 
    ... 

End With 
相关问题