05-06-2008
Joining 2 CSV files together
I need a little help as I am a complete novice at scripting in unix. However, i am posed with an issue... i have two csv files in the following format@
FILE1.CSV:
HEADER
HEADER
Header
, , HEADER
001X ,,200
002X ,,300
003X ,,300
004X ,,300
FILE2.CSV:
HEADER
HEADER
Header
, , HEADER
001X ,,300
003X ,,500
005X ,,600
006X ,,100
I need the above to files to merged into on final file as below:
FINAL_MERGED.CSV:
HEADER
HEADER
Header
, , HEADER
001X ,,300
002X ,,300
003X ,,500
004X ,,300
005X ,,600
006X ,,100
I have tried using the join command but that only lets me to join the two files but as you can see from the above i need the ability to be able to overwrite values from file 1 whith those in file 2.
The logic behind it is that the first csv (FILE1.CSV) file is produced but may have incorrect figures associated with it. Once the information is readily available the second csv (FILE2.CSV) is produced with the correct figures and any missing codes.
Once this has been done file 1 and file 2 need to be merged to have the correct figures from file 2 and also to include any missing codes that are on file 2 but not file 1.
I need to do this in Unix, my initial thoughts were to use the join command but not sure if this is possible but may be some use of lookup could be done... again i am a programming and unix newbie so would appreciate any assistance.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have two files that I need to find difference between. Do I use diff or join? If join, how do I use it?
thanks,
webtekie (1 Reply)
Discussion started by: webtekie
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
Could anyone help me ?
I'm trying to join two files, but no common field are on them. So I think on generate \000\ sequence to add for each line on both files, so then will be able to join these files.
Any idea?
Thanks in advance, (2 Replies)
Discussion started by: Manu
2 Replies
3. Shell Programming and Scripting
Greetings, all. I've got a project that requires I join two data files together, then do some processing and output. Everything must be done in a shell script, using standard unix tools. The files look like the following:
File_1
Layout:
Acct#,Subacct#,Descrip
Sample:
... (3 Replies)
Discussion started by: rjlohman
3 Replies
4. Shell Programming and Scripting
Hi guys,
I have three files which needs to be joined to a single file.
File 1:
Col a, Col b, Col c
File 2:
Col 1a, Col 1b
File 3:
Col 2a, Col 2b
Output:
Col 1a, Col 2a, Col a, Col b, Col c.
All the files are comma delimited. I need to join Col b with Col 1b and need to... (17 Replies)
Discussion started by: mac4rfree
17 Replies
5. UNIX for Dummies Questions & Answers
I have two comma separated files.
I want to join those filesa nd put the result in separate file.
smaple data are:
file1:
A1,1,100
A2,1,200
B1,2,100
B2,2,200
file2
1,50
1,25
1,25
1,100
1,100
2,50
2,50 (10 Replies)
Discussion started by: pandeesh
10 Replies
6. Shell Programming and Scripting
Hi experts,
I'm quite newbie here!!
I have two seperate files. Contents of file like below
File 1:
6213019212001 8063737
File:2
15703784
I want to join these two files into one where content will be
File 3:
6213019212001 8063737 15703784
Regards,
Ray Seilden (1 Reply)
Discussion started by: RayanS
1 Replies
7. Shell Programming and Scripting
Hi,
I have about 20 tab delimited text files that have non sequential numbering such as:
UCD2.summary.txt
UCD45.summary.txt
UCD56.summery.txt
The first column of each file has the same number of lines and content. The next 2 column have data points:
i.e UCD2.summary.txt:
a 8.9 ... (8 Replies)
Discussion started by: rrdavis
8 Replies
8. Shell Programming and Scripting
File "A" (column names: Nickname Number GB)
Nickname Number GB
PROD_DB0034 100A 16
ASMIL1B_DATA_003 100B 16
PSPROD_0000 1014 36
PSPROD_0001 100D 223
.....
File "B" (column names: TYPE DEVICE NUMBER SIZE)
TYPE DEVICE NUMBER SIZE
1750500 hdisk2 100A 16384
1750500 hdisk3 ... (4 Replies)
Discussion started by: Daniel Gate
4 Replies
9. Shell Programming and Scripting
I have two files with the below contents :
sampleoutput3.txt
20150202;hostname1
20150223;hostname2
20150716;hostname3
sampleoutput1.txt
hostname;packages_out_of_date;errata_out_of_date;
hostname1;11;0;
hostnamea;12;0;
hostnameb;11;0;
hostnamec;95;38;
hostnamed;440;358;... (2 Replies)
Discussion started by: rahul2662
2 Replies
10. Shell Programming and Scripting
Hello,
For our work we use several scripts to gather/combine data for use in our webshop. Untill now we did not had any problems but since a couple days we noticed some mismatches between imports.
It happened that several barcodes where matched even though it was a complete other product. Of... (19 Replies)
Discussion started by: SDohmen
19 Replies
LEARN ABOUT DEBIAN
text::csv::encoded::coder::encodeguess
Text::CSV::Encoded::Coder::EncodeGuess(3pm) User Contributed Perl Documentation Text::CSV::Encoded::Coder::EncodeGuess(3pm)
NAME
Text::CSV::Encoded::Coder::EncodeGuess - Text::CSV::Encoded coder class using Encode::Guess
SYNOPSIS
use Text::CSV::Encoded coder_class => 'Text::CSV::Encoded::Coder::EncodeGuess';
use Spreadsheet::ParseExcel;
my $csv = Text::CSV::Encoded->new();
$csv->encoding( ['ucs2', 'ascii'] ); # guessing ucs2 or ascii?
$csv->encoding_to_combine('shiftjis');
my $excel = Spreadsheet::ParseExcel::Workbook->Parse( $file );
my $sheet = $excel->{Worksheet}->[0];
for my $row ( $sheet->{MinRow} .. $sheet->{MaxRow} ) {
my @fields;
for my $col ( $sheet->{MinCol} .. $sheet->{MaxCol} ) {
my $cell = $sheet->{Cells}[$row][$col];
push @fields, $cell->{Val};
}
$csv->combine( @fields ) or die;
print $csv->string, "
";
}
DESCRIPTION
This module is inherited from Text::CSV::Encoded::Coder::Encode.
USE
Except for 2 attributes, same as Text::CSV::Encoded::Coder::Encode.
encoding_in
$csv = $csv->encoding_in( $encoding_list_ref );
The accessor to an encoding for pre-parsing CSV strings. If no encoding is given, returns current $encoding, otherwise the object itself.
$encoding_list_ref = $csv->encoding_in()
When you pass a list reference, it might guess the encoding from the given list.
$csv->encoding_in( ['shiftjis', 'euc-jp', 'iso-20022-jp'] );
If it cannot guess the encoding, the first encoding of the list is used.
encoding
$csv = $csv->encoding( $encoding_list_ref );
$encoding_list_ref = $csv->encoding();
You can pass a list reference to this attribute only:
* For list data consumed by combine().
* For list reference returned by getline().
In other word, in "combine" and "print", it might guess an encoding for the passing list data. If it cannot guess the encoding, the first
encoding of the list is used.
SEE ALSO
Encode, Encode::Guess
AUTHOR
Makamaka Hannyaharamitu, <makamaka[at]cpan.org>
COPYRIGHT AND LICENSE
Copyright 2008-2010 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2010-04-26 Text::CSV::Encoded::Coder::EncodeGuess(3pm)