我有一个CSV文件,其内容如下:
"week","Country" 201504,"IN" 201505,"JP"
我需要在第一行之后添加一个新行(即"week","Country"
之后),并且还需要将12345678,"AB"
作为内容添加到此新行。我尝试拆分成数组并使用vbnewline,如下面的代码所示,但它没有工作。有人可以帮我解决这个问题:
set objFSO = CreateObject("Scripting.FileSystemObject")
set objInFile = objFSO.OpenTextFile("C:\I_Calls.csv", 1, true, 0)
strContents = objInFile.ReadAll
objInFile.Close
Dim arrRows
arrRows = split(strContents, vbNewLine)
arrRows = arrRows(0) & vbNewLine
strContents = join(arrRows, vbNewLine)
set objOutFile = objFSO.OpenTextFile("C:\I_Calls.csv", 2, true, 0)
objOutFile.WriteLine strContents
objOutFile.close
答案 0 :(得分:2)
import { combineLatest } from 'rxjs'
答案 1 :(得分:2)
3+4
与4+3
不同 - 它表明缺乏理解。所以@ brettdj的回答是正确的(如果你添加一个EOL并引用AB)。
假设"写入第二行"这是一个愚蠢的老板或客户的坏主意,可怜的程序员应遵循以下一套一般规则:
为有经验的人设置A:
为经验不足的人设置B:
两种方式都会给你
Option Explicit
Const csFSpec = "..\data\35976978.csv"
Dim csEOL : csEOL = vbCrLf
Function qq(s)
qq = """" & s & """"
End Function
Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
Dim oTS : Set oTS = oFS.OpenTextFile(csFSpec)
Dim aRows : aRows = split(oTS.ReadAll(), csEOL, 2)
oTS.Close
Set oTS = oFS.CreateTextFile(csFSpec)
oTS.Write Join(Array(aRows(0), Join(Array(12345678, qq("AB")), ","), aRows(1)), csEOL)
oTS.Close
输出:
type ..\data\35976978.csv
"week","Country"
201504,"IN"
201505,"JP"
cscript 35976978.vbs
type ..\data\35976978.csv
"week","Country"
12345678,"AB"
201504,"IN"
201505,"JP"
答案 2 :(得分:1)
您可以在Append
模式
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objinFile = objFSO.OpenTextFile("C:\temp\I_lls.csv", 8, True)
objinFile.Write "12345678,AB"
objinFile.Close