Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用批处理文件的Vlookup样式csv合并_Batch File_Csv - Fatal编程技术网

Batch file 使用批处理文件的Vlookup样式csv合并

Batch file 使用批处理文件的Vlookup样式csv合并,batch-file,csv,Batch File,Csv,我有一个小批量文件,它根据匹配值合并两个csv文件。见以下代码: @ECHO OFF for /f "tokens=1 delims=, skip=1" %%i in (File2.csv) do @findstr "%%i," File1.csv >nul & If errorlevel 0 if not errorlevel 1 (for /f "tokens=1-4 delims=," %%m in ('findstr /i /L "%%i," File1.csv

我有一个小批量文件,它根据匹配值合并两个csv文件。见以下代码:

@ECHO OFF 
for /f "tokens=1 delims=, skip=1" %%i in (File2.csv) do @findstr  "%%i," File1.csv >nul & If     errorlevel 0 if not errorlevel 1 (for /f "tokens=1-4 delims=," %%m in ('findstr /i /L "%%i," File1.csv') do (@echo %%1,%%2,%%3,%%4>>output.csv 
echo %%i))
My file2.csv包含4列数据,My file1.csv包含2列数据。和上的第1列是我要匹配的唯一值(它是包含扩展名的文件名)

我希望我的输出csv包含File2.csv中的所有4列数据,以及与之匹配的File1.csv的第2列数据

然后,我希望删除输出csv的第一列,并将其替换为File1.csv中的第2列

我希望我已经充分解释了这一点,我只是想知道这是否可行

任何帮助都将不胜感激

编辑:根据注释修改代码

编辑2:删除文件1.csv中的引号

下面的批处理文件假设如下:

File1.csv:

"file name.ext","col1-2"
file name.ext,col2-2,col2-3,col2-4
col1-2,col2-2,col2-3,col2-4
File2.csv:

"file name.ext","col1-2"
file name.ext,col2-2,col2-3,col2-4
col1-2,col2-2,col2-3,col2-4
Output.csv:

"file name.ext","col1-2"
file name.ext,col2-2,col2-3,col2-4
col1-2,col2-2,col2-3,col2-4


什么类型的数据?显示所需输出的示例很有帮助。为了澄清,在每个文件的第1列上进行匹配,并输出文件2中的所有列+文件1中的第2列?是否有一种方法可以更轻松地上载示例文件?没有StackOverflow自带的上载功能,但和很流行。否则,你必须将粘贴复制到你的问题中。假设已经足够准确了,只是我不需要在输出的末尾使用第1-2列,我只需要它来替换a列中的文件名。另外,我的数据不包含标题,不确定这是否会影响它?请清除这一点:File1.csv和File2.csv不包含标题吗?然后,代码中的
for
命令中的
skip=1
用于什么?这是正确的,没有包含标题,此代码是通过复制和粘贴代码位来编译的。我在这方面没有经验,因此我自己也不完全理解代码。抱歉搞混了!谢谢,这产生了我想要的确切格式,但是它似乎与文件不匹配。两个csv上都有匹配的值,但在第1列的输出中,我只有NoMatchingFileName。请忽略我的上一条评论,它不匹配,因为我的file1.csv包含“数据周围”。谢谢。