我需要一个批处理文件代码来从我的.csv
文件的第一列中删除逗号,并从.csv
文件的第一行中删除空格。
感谢您的帮助
我在.csv
文件中有以下数据:
Column 1 Column 2
"LAMAR,JOY" indian
"Samar,sinha" American
我必须用 - 仅替换到第1列。
我该怎么做?
答案 0 :(得分: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
这对我来说没什么意义,但是从第一行中移除了spa,其余部分在第一列中用-
替换了ommas。
该文件被读入%%c
。由于col1
已初始化为为空,因此未为第一行定义col1
,因此整行都已分配给col1
,空格已移除并且结果echo
编辑。
由于现在定义了col1
,所以在分隔列的空间(它的固定列格式,而不是csv)上对行进行标记之后处理剩余的行。%%a
获取第一列并分配给col1
,然后将,
替换为-
。 %%c
中的整行已分配给line
,然后从line
删除包含第一个空格的字符所需的输出因此col1
+的内容已删除的空格+ line
中该行的其余部分。