02-06-2009
Need to compare two csv files values and write into another csv file
Hi all,
Am new to scripting. So i just need your ideas to help me out. Here goes my requirement.
I have two csv files
1.csv 2.csv
abc,1.24 abc,1
def,2.13 def,1
I need to compare the first column of 1.csv with 2.csv and if matches then need to compare the second coulmnof 1.csv value with 2.csv . if it is more than the 2.csv value then print 1.csv values and second coulmn value of 2.csv and like it goes..And remember the second column of 1.csv is a float value;
the ouput should be in 3.csv
def,2.13,1
my code is goes as folows:
1st way :
for line in `cat 1.csv`
do
samp1=`echo $line|cut -d\
'' -f1`;
samp2=`echo $line|cut -d\
'' -f2`;
for line in `cat
2.csv`
do
samp3=`echo $line|cut -d\
'' -f1`;
samp4=`echo $line|cut -d\
'' -f2`;
if [ $
samp1 -eq $
samp3 ]
then
if [ $
samp2 > $
samp4 ]
then
print "$
samp1",""$
samp2"",""$
samp4">>
3.csv;
break;
fi
fi
done
done
--------------------------------
2nd way
Using Awk i tried :
awk -F"," 'BEGIN { {samp1=$1 ; samp2=$2} {awk 'BEGIN {FS = ","} NR == 1 {samp3=$1 ; samp4=$2} \
{if [ $samp1 -eq $samp3 ]
then
if [ $samp2 -gt $samp4 ]
then
print "$samp1",""$samp2"",""$samp3" >> 3.csv
break
fi
fi}}}'1.csv}'2.csv
Using awk in awk...am not sure..
can anybody help on these two ways...am really worried about this since yesterday...
ManyThanks,
Chinna..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I've got two large csv text table files with different number of columns each.
I have to compare them based on first two columns and create resulting file
that would in case of matched first two columns include all values from first one and all values (except first two colums) from second one. I... (5 Replies)
Discussion started by: agb2008
5 Replies
2. Shell Programming and Scripting
:(
Hello,
Having a problem with reading two files using awk/nawk, am new to both them.
I need to compare field values between two csv files and arrange for an appropriate output if both the values are equal or not for each feild.
$cat File1.csv... (4 Replies)
Discussion started by: pgop
4 Replies
3. Shell Programming and Scripting
Hi Friends,
I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving...
File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
Discussion started by: asnandhakumar
6 Replies
4. Shell Programming and Scripting
I am having two csv files i need to compare these files and the output file should have the information of the differences at the field level.
For Example,
File 1:
A,B,C,D,E,F
1,2,3,4,5,6
File 2:
A,C,B,D,E,F
1,2,4,5,5,6
out put file: (12 Replies)
Discussion started by: karingulanagara
12 Replies
5. Shell Programming and Scripting
(say) I have 2 csv files - file1.csv & file2.csv as mentioned below:
file1.csv
ID,version,cost
1000,1,30
2000,2,40
3000,3,50
4000,4,60
file2.csv
ID,version,cost
1000,1,30
2000,2,45
3000,4,55
6000,5,70
... (1 Reply)
Discussion started by: Naresh101
1 Replies
6. Shell Programming and Scripting
(say) I have 2 csv files - file1.csv & file2.csv as mentioned below:
file1.csv
ID,version,cost
1000,1,30
2000,2,40
3000,3,50
4000,4,60
file2.csv
ID,version,cost
1000,1,30
2000,2,45
3000,4,55
6000,5,70
The... (7 Replies)
Discussion started by: Naresh101
7 Replies
7. Shell Programming and Scripting
Hi,
I have a file of csv data, which looks like this:
file1:
1AA,LGV_PONCEY_LES_ATHEE,1,\N,1,00020460E1,0,\N,\N,\N,\N,2,00.22335321,0.00466628
2BB,LES_POUGES_ASF,\N,200,200,00006298G1,0,\N,\N,\N,\N,1,00.30887539,0.00050312... (10 Replies)
Discussion started by: djoseph
10 Replies
8. Shell Programming and Scripting
Hi, I am newbie in shell script.
I need your help to solve my problem.
Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file.
File1:
SourceFile,DateTimeOriginal
/home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Discussion started by: refrain
8 Replies
9. Shell Programming and Scripting
I have 8 .csv files with 16 columns and "n" rows with no Header. I want to parse each of these .csv and get column and put the data into a new.csv. Once this is done, the new.csv should have 16 columns (2 from each input.csv) and "n" rows.
Now, I want to just take the average of Column from... (3 Replies)
Discussion started by: Zam_1234
3 Replies
10. UNIX for Beginners Questions & Answers
1.csv contains following column-
Empid code loc port
101 A xy 01
102 B zx 78
103 A cg 12
104 G xy 78
2.csv contains follwing data-
Empid code loc port
101 A gf 01
102 B zx 78
103 C cg 32
104 ... (1 Reply)
Discussion started by: rishabh
1 Replies
LEARN ABOUT DEBIAN
load_dat_font
load_dat_font(3alleg4) Allegro manual load_dat_font(3alleg4)
NAME
load_dat_font - Loads a FONT from an Allegro datafile.
SYNOPSIS
#include <allegro.h>
FONT *load_dat_font(const char *filename, RGB *pal, void *param)
DESCRIPTION
Loads a FONT from an Allegro datafile. You can set param parameter to point to an array that holds two strings that identify the font and
the palette in the datafile by name. The first string in this list is the name of the font. You can pass NULL here to just load the first
font found in the datafile. The second string can be used to specify the name of the palette associated with the font. This is only
returned if the pal parameter is not NULL. If you pass NULL for the name of the palette, the last palette found before the font was found
is returned. You can also pass NULL for param, which is treated as if you had passed NULL for both strings separately. In this case, the
function will simply load the first font it finds from the datafile and the palette that precedes it.
For example, suppose you have a datafile named `fonts.dat' with the following contents:
FONT FONT_1_DATA
FONT FONT_2_DATA
FONT FONT_3_DATA
PAL FONT_1_PALETTE
PAL FONT_2_PALETTE
Then the following code will load FONT_1_DATA as a FONT and return FONT_1_PALETTE as the palette:
FONT *f;
PALETTE pal;
char *names[] = { "FONT_1_DATA", "FONT_1_PALETTE" }
f = load_dat_font("fonts.dat", pal, names);
If instead you want to load the second font, FONT_2, from the datafile, you would use:
FONT *f;
PALETTE pal;
char *names[] = { "FONT_2_DATA", "FONT_2_PALETTE" }
f = load_dat_font("fonts.dat", pal, names);
If you want to load the third font, but not bother with a palette, use:
FONT *f;
char *names[] = { "FONT_3_DATA", NULL }
f = load_dat_font("fonts.dat", NULL, names);
RETURN VALUE
Returns a pointer to the font or NULL on error. Remember that you are responsible for destroying the font when you are finished with it to
avoid memory leaks.
SEE ALSO
register_font_file_type(3alleg4), load_font(3alleg4)
Allegro version 4.4.2 load_dat_font(3alleg4)