打开、编辑并重新保存CSV文件

打开、编辑并重新保存CSV文件,csv,asp-classic,vbscript,Csv,Asp Classic,Vbscript,我有一个类似.CSV的文件,我想对它做两件事之一 文件中的数据如下所示: "BRANCH","CARD","BILL_TYPE","AUTH_CODE","INVOICE","UNIT","EMP_NUM","TRIP","TRAILER","HUB/SPEED","VEH_LICENSE","DRIVER","DATE","TIME","CHAIN","IN_NETWORK","TS#","TS_NAME","TS_CITY","TS_STATE","PPG","NET_PPG","FUEL_

我有一个类似.CSV的文件,我想对它做两件事之一

文件中的数据如下所示:

"BRANCH","CARD","BILL_TYPE","AUTH_CODE","INVOICE","UNIT","EMP_NUM","TRIP","TRAILER","HUB/SPEED","VEH_LICENSE","DRIVER","DATE","TIME","CHAIN","IN_NETWORK","TS#","TS_NAME","TS_CITY","TS_STATE","PPG","NET_PPG","FUEL_GALS","FUEL_AMT","RFR_GALS","RFR_AMT","CASH","MISC","INV_TOTAL","FEE","DISC","INV_BALANCE",1.00,1.00,"E","004ACS","02812","365","-","-","0",0.00,"-","JOHN S  ",11/4/2013,"16:18:49E","IC","N",3257.00,"IRVING HOULTON","HOULTON","ME",3.95,3.95,121.57,480.08,0.00,0.00,0.00,0.00,480.08,1.50,0.00,481.58
"BRANCH","CARD","BILL_TYPE","AUTH_CODE","INVOICE","UNIT","EMP_NUM","TRIP","TRAILER","HUB/SPEED","VEH_LICENSE","DRIVER","DATE","TIME","CHAIN","IN_NETWORK","TS#","TS_NAME","TS_CITY","TS_STATE","PPG","NET_PPG","FUEL_GALS","FUEL_AMT","RFR_GALS","RFR_AMT","CASH","MISC","INV_TOTAL","FEE","DISC","INV_BALANCE",1.00,2.00,"E","014ACI","976234","430","-","-","0",0.00,"-","STACY    ",11/4/2013,"00:21:16E","F","Y",8796.00,"PILOT 405","TIFTON","GA",3.77,3.77,172.65,650.73,0.00,0.00,0.00,0.00,650.73,1.50,0.00,652.23
"BRANCH","CARD","BILL_TYPE","AUTH_CODE","INVOICE","UNIT","EMP_NUM","TRIP","TRAILER","HUB/SPEED","VEH_LICENSE","DRIVER","DATE","TIME","CHAIN","IN_NETWORK","TS#","TS_NAME","TS_CITY","TS_STATE","PPG","NET_PPG","FUEL_GALS","FUEL_AMT","RFR_GALS","RFR_AMT","CASH","MISC","INV_TOTAL","FEE","DISC","INV_BALANCE",1.00,1.00,"E","004ACS","02812","365","-","-","0",0.00,"-","JOHN S  ",11/4/2013,"16:18:49E","IC","N",3257.00,"IRVING HOULTON","HOULTON","ME",3.95,3.95,121.57,480.08,0.00,0.00,0.00,0.00,480.08,1.50,0.00,481.58
"BRANCH","CARD","BILL_TYPE","AUTH_CODE","INVOICE","UNIT","EMP_NUM","TRIP","TRAILER","HUB/SPEED","VEH_LICENSE","DRIVER","DATE","TIME","CHAIN","IN_NETWORK","TS#","TS_NAME","TS_CITY","TS_STATE","PPG","NET_PPG","FUEL_GALS","FUEL_AMT","RFR_GALS","RFR_AMT","CASH","MISC","INV_TOTAL","FEE","DISC","INV_BALANCE",1.00,2.00,"E","014ACI","976234","430","-","-","0",0.00,"-","STACY    ",11/4/2013,"00:21:16E","F","Y",8796.00,"PILOT 405","TIFTON","GA",3.77,3.77,172.65,650.73,0.00,0.00,0.00,0.00,650.73,1.50,0.00,652.23
每一行都以以下重复文本开头:
“分行”、“卡”、“账单类型”、“认证代码”、“发票”、“单位”、“EMP数量”、“行程”、“拖车”、“枢纽/速度”、“车辆牌照”、“司机”、“日期”、“时间”、“链”、“网络中”、“TS”、“TS”、“TS名称”、“TS城市”、“TS州”、“PPG”、“净PPG”、“燃油量”、“燃油量”、“RFR GALS”、“RFR金额”、“现金”、“杂项”、“库存总额”、“费用”、“光盘”,“库存余额”

我想做的是…

选项1:

  • 将重复文本放入字符串中
  • 删除字符串中的最后一个字符
  • 使用1号字符串从文件中删除所有其他重复文本
  • 保存.CSV文件
  • 选项2:

  • 将重复文本放入字符串中
  • 删除字符串中的最后一个字符
  • 我要跳到第305列的每一个循环/每一行
  • 保存.CSV文件
  • 如何在经典ASP中执行此操作?A.ReadLine()/2文件方法:

      Dim tsIn  : Set tsIn  = goFS.OpenTextFile("..\data\19936645.csv")
      Dim tsOut : Set tsOut = goFS.CreateTextFile("..\data\19936645-2.csv")
      Dim sFrs  : sFrs      = tsIn.ReadLine()
      Dim sLast : sLast     = """INV_BALANCE"","
      Dim nCutP : nCutP     = Instr(sFrs, sLast) + Len(sLast)
      Dim sHead : sHead     = Left(sFrs, nCutP - 2)
      Dim sLine
      tsOut.WriteLine sHead
      tsOut.WriteLine Mid(sFrs, nCutP)
      Do Until tsIn.AtEndOfStream
         sLine = tsIn.ReadLine()
         If 1 = Instr(sLine, sHead) Then
            tsOut.WriteLine Mid(sLine, nCutP)
         Else
            WScript.Echo "Bingo!"
         End If
      Loop
      tsOut.Close
      tsIn.Close
    

    这将创建一个新的带有列标题的.csv。

    我在这一行上遇到一个错误,说Object required:“”Dim tsIn:Set tsIn=goFS.OpenTextFile(“DATA\001a_1378532_1111.csv”)@msvuze-您需要一个FileSystemObject(命名为goFS)。