2013-11-12 4 views
2

У меня есть файл .CSV, который я хотел бы сделать с ним одну из двух вещей.Открыть, изменить и перезаписать файл 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 

Каждая строка начинается с этого дубликата текстом: "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:

  1. Поместите дубликат текста в строке
  2. Удалить последний символ в строке
  3. Удалить все другие дублированный текст из файла, используя строку из нет. 1
  4. Сохранить файл .CSV

ВАРИАНТ 2:

  1. Поместите дубликат текста в строке
  2. Удалить последний символ в строке
  3. Каждая петля/каждый строка Я бы пропустил колонку 305
  4. Сохраните файл .CSV

Как это сделать в классическом ASP?

ответ

3

.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 с заголовком столбца.

+0

Я получаю сообщение об ошибке «Требуется объект:» на этой строке: Dim tsIn: Установить tsIn = goFS.OpenTextFile («DATA \ 001a_1378532_1111.CSV») – msvuze

+1

@msvuze - вам нужен FileSystemObject (с именем goFS). –

+0

СПАСИБО СМОТРЕТЬ ТАК ЭТОГО !!! ТЫ ВЕЛИКОЛЕПЕН!!!!!!!! :) – msvuze

Смежные вопросы