csv - 批量获取 csv 值并将其保存到变量中以供进一步使用

标签 csv batch-file

我想提取这样的文件的值:

4564,cde0
7578,Kernel
123465,Performer
INFO,Kernel

我认为将数据放入 csv 文件将是最简单的选择,但如果有更简单的方法来获取变量中的值,我愿意寻求建议。我将有超过四行...

我想使用以下值: 从第 1 行开始,我需要将 4564 和 cde0 放在单独的变量中。 将它们放入我的脚本中,然后继续第二行,依此类推。

我发现了几个处理列的威胁,现在我有以下代码:

for /F "tokens=1-2 delims=," %%a in (test.csv) do (@echo %%a %%b) 

但这只是显示了没有“,”的内容。

有什么方法可以遍历一行并将两个值放入两个变量中吗?

如果是这样,我认为浏览 csv 文件的最简单方法是一个循环,我将值提取到变量中,使用它们并继续下一行,但由于我对批处理不太熟悉,所以我不这样做知道这是否是最好的方法。

谢谢

最佳答案

在这种情况下,多维数组就可以解决问题。由于batch没有数组功能,但我们可以自己制作!就像这样:

@echo off
setlocal enabledelayedexpansion

set var1=0

for /F "tokens=1* delims=," %%a in (text.csv) do (
    set var2=0
    set array[!var1!][!var2!]=%%a
    set /a var2+=1
    set array[!var1!][!var2!]=%%b
    set /a var1+=1
)

echo First column, First element: %array[0][0]%
echo First column, Second element: %array[0][1]%
echo Second column, First element: %array[1][0]%
echo Second column, Second element: %array[1][1]%

pause >nul

让我简要解释一下这里发生的事情。多维数组是包含一个或多个数组的数组。最常见的数组类似于 array[0] ,表示第一个元素,因为该元素从 0 开始计数。

而多维数组如 array[0][0]表示第一个数组的第一个数组(可能听起来很困惑)。想想array [0] [0]是行,array[0] [0] 是列,因此 array[1][2]表示第2行第3列。 (*画一张表格并练习)

关于csv - 批量获取 csv 值并将其保存到变量中以供进一步使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32101856/

相关文章:

mysql - phpMyAdmin:用 CSV 文件替换表格内容

python - 对特定列中的特定行求和

c - 如何正确地将 CSV 从文本文件加载到 C 中的结构?

javascript - 当 CSV 上没有数据时,会导致错误。我怎样才能避免这个错误,Javascript

html - 如何使用批处理文件在 HTML 文件中写入 "greater than symbol"

python - 合并/连接问题

batch-file - 批处理文件: suppress command error output when used in a for loop

regex - 使用 DOS/批处理以随机长度拆分字符串

batch-file - 批处理文件调用 %~1 并获取变量的当前值/字符串

batch-file - 如何通过批处理文件执行cmd命令?