我需要在template.txt文件中的第14行插入strText。第14行在写入之前总是空白(有点像追加我猜)。
我真正需要的是将第21行复制到第14行。不确定实现此目的的更简单方法是什么?
这是我到目前为止所做的工作。下面的代码是template.txt。
df_agg = df.groupBy('cs_username').agg(*aggs).collect()
这是template.txt:
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
DIM Infile : Infile = "C:\template.txt"
Set tempFile = objFSO.OpenTextFile (Infile)
strText = tempFile.ReadAll
tempFile.Close
strNewText = Replace(strText, "","Channel_LandWaterMask = 3.0")
Set tempFile = objFSO.OpenTextFile (Infile, 2)
tempfile.Writeline 14, strNewText ‘(How would I write this???)
tempFile.Close
答案 0 :(得分:1)
看一下下面的例子:
sContent = ReadTextFile("C:\template.txt", 0)
aContent = Split(sContent, vbCrLf)
aContent(13) = aContent(20) & vbCrLf & aContent(13)
sContent = Join(aContent, vbCrLf)
WriteTextFile sContent, "C:\template.txt", 0
Function ReadTextFile(sPath, lFormat)
' lFormat -2 - System default, -1 - Unicode, 0 - ASCII
With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 1, False, lFormat)
ReadTextFile = ""
If Not .AtEndOfStream Then ReadTextFile = .ReadAll
.Close
End With
End Function
Sub WriteTextFile(sContent, sPath, lFormat)
' lFormat -2 - System default, -1 - Unicode, 0 - ASCII
With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 2, True, lFormat)
.Write sContent
.Close
End With
End Sub
注意,它在第14行之前插入第21行的内容,从而保留换行符,因为第14行的内容是换行符。如果您只想替换,请使用aContent(13) = aContent(20)
代替aContent(13) = aContent(20) & vbCrLf & aContent(13)
。
答案 1 :(得分:0)
Do Until Inp.AtEndOfStream
Count=Count + 1
Line=Inp.readline
If Count = 14 then
outp.writeline "My line 14"
Else
outp.writeline Line
End If
Loop
是您的问题类型的模式。读一行,做出决定,写一些东西。