我正在通过CSV文件从风电场读取能源数据。 并将其传递给新的CSV文件。这个文件需要有值。
但有时风电场离线且我的变量将为空。 所以我需要一种方法来查看是否有空并为其分配“0”。 OPC文件值由OPC服务器读取,因此需要包含值。
div {
height: 16px;
}
答案 0 :(得分:1)
对您的代码的一些评论:
Option Explicit
语句(第1行代码); On Error Goto 0
语句(第二行代码)而不是On Error Resume Next
; Set objFSO = CreateObject("Scripting.FileSystemObject")
似乎是多余的:这个陈述的第一次出现就足够了; strNextLine = Trim( objFile.ReadLine)
用于下一个If Len(strNextLine) > 0
测试准确度; If UBound(arrCSVData) < 60 Then Redim Preserve arrCSVData(60)
以确保所有已使用的数组项都存在并防止VBScript运行时错误Subscript out of range: '[number: #]'
; For i = LBound(arrCSVData) To UBound(arrCSVData)
循环(即此行和相应的Next
):它循环相同的代码 UBound(arrCSVData)+1
次; Y9 = replaceEmpty(arrCSVData(60), "0")
如果replaceEmpty
函数定义如下:Function replaceEmpty( sValueToTest, defaultVal)
If IsNull( sValueToTest) Then
replaceEmpty = ""
Else
replaceEmpty = CStr(sValueToTest)
End If
If Trim( replaceEmpty) = "" Then replaceEmpty = defaultVal
End Function
答案 1 :(得分:0)
在使用数据为数组中的变量赋值时,在for循环中。根据以下示例更改代码。即对于可能等于&#34;&#34;的每个数据项。当你需要它时,改变相应的行
即改变
gsub( "*" , "" , "All Large Firms*", fixed=TRUE)
到
Y1 = arrCSVData(2)
另外,我想知道您使用Y1 = iif( arrCSVData(2)="",0 ,arrCSVData(2) )
的原因。