我正在尝试编写一个VBScript,它将从csv文件中读取行,并能够将数据从一行匹配到另一行。以下是CSV包含的示例:
ID,Uplink,Value1,Value2,Downlink,Profile
ID,UPLINK,156,145,DownlinkP,Profile1
ID,UPLINK,156,145,DownlinkG,ProfileUnknown
这只是必须保存的标题,第一行类型和第二行类型。
我的任务:我需要找到让脚本执行以下操作的方法:检查行是否包含DownlinkG,如果是,则需要找到匹配Value1和Value2的行,复制Profile1到ProfileUnknown的字段。这些文件平均长度为100-200行,但它们最多可以达到500-600。
编辑:我意识到使用数组可能就是答案,然后我甚至可以将输出写回同一个文件而不是创建新文件。唉,由于某些奇怪的原因,数组在编程中一直是我的弱点。
答案 0 :(得分:3)
阵列可能适合你,但我会走另一条路。您是否考虑将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