2015-04-06 48 views
0

我需要一個批處理文件代碼來從我的.csv文件的第一列中刪除逗號,並且還從.csv文件的第一行中刪除間距。批處理文件代碼以從.csv文件中刪除逗號

感謝您的幫助

我有以下數據爲我.csv文件:

Column 1   Column 2 
"LAMAR,JOY"  indian 
"Samar,sinha"  American 

我不得不更換,用 - 只進了1列

我怎麼能做到這一點??

回答

0
@ECHO OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
SET "col1=" 
(
FOR /f "delims=" %%c IN (q29471006.txt) DO (
    FOR /f "tokens=1delims= " %%a IN ("%%c") DO (
    IF DEFINED col1 (
    SET "col1=%%a" 
    SET "col1=!col1:,=-!" 
    SET "line=%%c" 
    SET "line=!line:* =!" 
    ECHO(!col1! !line! 

    ) ELSE (
    SET "col1=%%c" 
    SET "col1=!col1: =!" 
    ECHO(!col1! 
    ) 
) 
) 
)>u:\newfile.txt 

由於您沒有顯示您期望的輸出結果,我們只能猜測。

我用了一個名爲q29471006.txt的文件,其中包含我的測試數據。

這個程序的輸出(在u:\newfile.txt)是

Column1Column2 
"LAMAR-JOY"  indian 
"Samar-sinha"  American 

這使得毫無意義的我,但這從第一行刪除spaes,其餘在第一列已經換成了- ommas 。

該文件被讀入%%c。由於col1已初始化爲,因此col1未定義爲第一行,因此整行被分配給col1,空格被刪除並且結果echo被編輯。

由於col1現在定義,線路已標記化上的空間分離的列(它的固定列格式,不CSV格式。)%%a獲取第一列和被分配給col1然後後的剩餘的行處理已將每個,替換爲-。從%%c開始的整行被分配到line,然後從line刪除包含第一個空格的字符,因此所需的輸出是col1 +刪除的空間的內容+ line中行的其餘部分。