我想为每个城市创建新的csv文件,将几个csv与行和列组合在一起,一列具有城市名称,在所有csv文件中重复...
例如,
我的文件名为日期,YYYYMMDD,20140713.csv,20140714.csv,20140715.csv ......
它们具有相同的结构,相同的行数和列数,例如,20140713.csv ...
1. City, Data, TMinreal, TMaxreal, TMinext, TMaxext, DiffTMin, DiffTMax
2. Milano,20140714,19.0,28.8,18,27,1,1.8
3. Rome,20140714,18.1,29.3,14,29,4.1,0.3
4. Pisa,20140714,10.8,27.5,8,29,2.8,-1.5
5. Venecia,20140714,21.1,29.1,16,27,5.1,2.1
我希望将所有这些csv文件组合在一起...并获取带有城市名称的csv文件,如Milano.csv和里面的所有csv组合存储的有关此城市的信息。
例如,如果我将20140713.csv,20140714.csv,20140715.csv合并为Milano.csv
1. Milano,20140713,19.0,28.8,18,26,1,2.8
2. Milano,20140714,19.0,28.8,20,27,-1,1.8
3. Milano,20140715,21.0,26.8,19,27,2,-0.2
任何想法?谢谢
答案 0 :(得分:2)
未经测试,但这应该有效:
awk -F, 'FNR==1{next} {file = $1".csv"; print > file}' 20*.csv
答案 1 :(得分:0)
你可以拥有这个bash脚本:
#!/bin/bash
for FILE; do
{
read ## Skip header
while IFS=, read -r A B; do
echo "$A,$B" >> "$A".csv
done
} < "$FILE"
done
然后运行:
bash script.sh file1.csv file2.csv ...