2014-02-25 51 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 
相關問題