【发布时间】:2015-10-07 02:47:36
【问题描述】:
我需要读取 CSV 文件的每一行并将值保存到变量中。
我的多行 CSV 文件示例:
value1;value2;value3
value4;value5;value6
我有这个:
for enreg in `cat ../files/inputs/file.csv`
do
INFO1= `echo $enreg | awk -F ';' '{ print $1}'`
INFO2= `echo $enreg | awk -F ';' '{ print $2}'`
INFO3= `echo $enreg | awk -F ';' '{ print $2}'`
echo "INFO1= $INFO1"
echo "INFO2= $INFO2"
echo "INFO3= $INFO3"
echo "$INFO3;$INFO2;$INFO1" >> ../files/output/files.csv
done
我在控制台中有以下结果:
INFO1= value1
value4
INFO2= value2
value5
INFO3= value3
value6
但我需要将其写入第二个 CSV 文件:
INFO1= value1
INFO2= value2
INFO3= value3
INFO1= value4
INFO2= value5
INFO3= value6
感谢您的帮助,祝您有美好的一天。
_______________________________________________________________________________
更新
我的 CSVmatricule.csv 是:
value1;value2;value3
value4;value5;value6
我的 CSVmatricule.ks 是:
while IFS=";" read -r f1 f2 f3
do
echo "INFO1=$f1"
echo "INFO2=$f2"
echo "INFO3=$f3"
done < ../files/inputs/CSVmatricule.csv
我的控制台结果:
INFO1=value1
INFO2=value2
INFO3=value3
cat -vet ../files/inputs/CSVmatricule.csv 的结果:
value1;value2;value3$
value4;value5;value6
为什么 CSV 的第二行没有计数??
【问题讨论】:
-
I need to read each lines of a CSV file and save values into variables.- 这是极不可能的。更有可能这是 XY 问题的一个示例,请参阅 meta.stackexchange.com/a/66378。如果您告诉我们您正在尝试做什么,我们可以告诉您如何解决您的问题,而不是告诉您如何实施这个几乎可以肯定是错误的尝试解决您的问题的方法。