Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vbscript从csv文件中读取行,匹配数据并写入同一文件_Vbscript - Fatal编程技术网

vbscript从csv文件中读取行,匹配数据并写入同一文件

vbscript从csv文件中读取行,匹配数据并写入同一文件,vbscript,Vbscript,我正在尝试编写一个VBScript,它将从csv文件中读取行,并能够将数据从一行匹配到另一行。以下是CSV包含内容的示例: ID,Uplink,Value1,Value2,Downlink,Profile ID,UPLINK,156,145,DownlinkP,Profile1 ID,UPLINK,156,145,DownlinkG,ProfileUnknown 这只是必须保存的标题,第一行类型和第二行类型 我的任务:我需要找到一种方法让脚本执行以下操作:检查行是否包含下行链路,如果是这样,它

我正在尝试编写一个VBScript,它将从csv文件中读取行,并能够将数据从一行匹配到另一行。以下是CSV包含内容的示例:

ID,Uplink,Value1,Value2,Downlink,Profile
ID,UPLINK,156,145,DownlinkP,Profile1
ID,UPLINK,156,145,DownlinkG,ProfileUnknown
这只是必须保存的标题,第一行类型和第二行类型

我的任务:我需要找到一种方法让脚本执行以下操作:检查行是否包含下行链路,如果是这样,它需要找到同时具有匹配值1和值2的行,请将Profile1的字段复制到ProfileUnknown中。这些文件的平均长度为100-200行,但很容易达到500-600行


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

数组可能适合你,但我会走另一条路。您是否考虑过将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

阵列可能对你有用,但我会选择另一条路线。您是否考虑过将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

阵列可能对你有用,但我会选择另一条路线。您是否考虑过将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

阵列可能对你有用,但我会选择另一条路线。您是否考虑过将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

在我们帮助您之前,您需要显示脚本。您对纯批处理.bat解决方案感兴趣吗?您需要在我们帮助您之前显示脚本。您对纯批处理.bat解决方案感兴趣吗?您需要在我们帮助您之前显示脚本。您对纯批处理.bat解决方案感兴趣吗?您需要显示您的脚本脚本,然后我们才能帮助您。您对纯批处理.bat解决方案感兴趣吗?