這是我的第一批程序,我一直在線上搜索,但仍在努力寫出解決方案。從csv文件讀取並根據第一列值提取某些數據列
我有以下CSV文件:
"RH",2013/06/15 02:14:58 -0400,"X","LQ3SUEEWPWKL6",005,
"FH",01
"SH",2013/06/14 00:00:00 -0400,2013/06/14 23:59:59 -0400,"LQ3SUEEWPWKL6",""
"CH","TransactionID","InvoiceID",
......
我試圖寫一個簡單的程序來執行以下操作:
- 如果列1 = 「RH」,然後提取COLUMN2值( 2013年6月15日2時14分58秒-0400)
- 如果列1 = 「SH」,然後抽取column4值(LQ3SUEEWPWKL6)
和管道輸出到文件。
這是到目前爲止我的代碼,但如果條件不爲我工作
@echo off
:: Set input file in variable
::Set _InputFile=%1
:: Store input line into different variables
FOR /F "tokens=1-18* delims=," %%A IN (%_InputFile%) DO (
Set _var1=%%A
Set _var2=%%B
Set _var3=%%C
Set _var4=%%D
Set _var5=%%E
Set _var6=%%F
Set _var7=%%G
Set _var8=%%H
Set _var9=%%I
Set _var10=%%J
Set _var11=%%K
Set _var12=%%L
Set _var13=%%M
Set _var14=%%N
Set _var15=%%O
Set _var16=%%P
Set _var17=%%Q
Set _var18=%%R
IF "%_var1%"=="RH" echo %var2%
)
我的CSV文件看起來在Excel和記事本正常,但當我執行腳本顯示第一個變量,它看起來像第一個記錄上的「RH」之前有一些垃圾字符 - 我無法繞過它,因爲如果var1 =「RH」,我需要提取附加列數據:
"RH"
FH
01
SH
CH
TransactionID,PaymentTrackingID,
SF
SF
SC
RF
CAD,CR,0
RF
USD,CR,0
RC
FF
你試過了什麼?你有多遠? – dnet
這是我到目前爲止,但「如果」條件不起作用。 – user2550880
你的意思是:如果「%_var1%」==「RH」echo%_var2%'?我沒有看到'var2'(即沒有前面的'_')。 – Rapnar