Sponsored Content
Top Forums Shell Programming and Scripting Merging CSV fields based on a common field Post 302596983 by landossa on Wednesday 8th of February 2012 11:09:56 PM
Old 02-09-2012
Java Merging CSV fields based on a common field

Hi List,

I have two files. File1 contains all of the data I require to be processed, and I need to add another field to this data by matching a common field in File2 and appending a corresponding field to the data in File1 based on the match... So:

File 1:
Code:
dbid,uuid,account_code,hostname,os,Support_group_name,location
123,aa79-11df-829d,BMC,bnehws2,Microsoft Windows,Server Ops,UNKNOWN
345,9b7a-11e0-9810,AAA,psmpd01o,Microsoft Windows,UNKNOWN,UNKNOWN
789,fe63-11df-98bd,CCS,hnam01,Red Hat Linux,unix support,Sydney
124,072c-11e0-8171,CCS,syd71,Microsoft Windows,Windows support,INDIA

I want to match the account_code field with the Org Code in File 2:
Code:
Org Code,Account Name,Org ID,IntID,Region,Status,Comments
BMC,BMC Corp,111,752654929,AUS,Active,
AAA,AAA Corp,104,750335008,AUS,Active,
CCS,CCS Corp,185,758011030,EMEA,Active,
DDD,DDD Corp,992,756512445,EMEA,Active,

And then merge the matched Account Name(field 2) into the data in File1 without omitting any records in File1, so output data looks like this:
Code:
dbid,uuid,account_code,hostname,os,Support_group_name,location
123,aa79-11df-829d,BMC,bnehws2,Microsoft Windows,Server Ops,UNKNOWN,BMC Corp
345,9b7a-11e0-9810,AAA,psmpd01o,Microsoft Windows,UNKNOWN,UNKNOWN,AAA Corp
789,fe63-11df-98bd,CCS,hnam01,Red Hat Linux,unix support,Sydney,CCS Corp
124,072c-11e0-8171,CCS,syd71,Microsoft Windows,Windows support,INDIA,CCS Corp

Any suggestions much appreciated..

Thanks,
Land

Last edited by Franklin52; 02-09-2012 at 04:17 AM.. Reason: Please use code tags for code and data samples, thank you
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Matching lines across multiple csv files and merging a particular field

I have about 20 CSV's that all look like this: "","","","","","","","","","","","","","","",""What I've been told I need to produce is the exact same thing, but with each file now containing the start_code from every other file where the email matches. It doesn't matter if any of the other... (1 Reply)
Discussion started by: Demosthenes
1 Replies

2. Shell Programming and Scripting

Merging 2 files based on a common column

Hi All, I do have 2 files file 1 has 4 tab delimited columns 234 a c dfgyu 294 b g fih 302 c h jzh 328 z c san 597 f g son File 2 has 2 tab delimted columns 234 23 302 24 597 24 I want to merge file 2 with file 1 based on the data common in both files which is the first column so... (6 Replies)
Discussion started by: Lucky Ali
6 Replies

3. Shell Programming and Scripting

join files based on a common field

Hi experts, Would you please help me with this? I have several files and I need to join the forth field of them based on the common first field. here's an example... first file: 280346 39.88 -75.08 547.8 280690 39.23 -74.83 538.7 280729 40.83 -75.08 499.2 280907 40.9 -74.4 507.8... (5 Replies)
Discussion started by: GoldenFire
5 Replies

4. Shell Programming and Scripting

extract data in a csv file based on a certain field.

I have a csv file that I need to extract some data from depending on another field after reading info from another text file. The text file would say have 592560 in it. The csv file may have some data like so Field 1 Field2 Field3 Field4 Field5 Field6 20009756 1 ... (9 Replies)
Discussion started by: GroveTuckey
9 Replies

5. UNIX for Dummies Questions & Answers

compare two files based on common field in unix

I have two files in UNIX. 1st file is Entity and Second File is References. 1st File has only one column named Entity ID and 2nd file has two columns Entity ID | Person ID. I want to produce a output file where entity id's are matching in both the files. Entity File 624197 624252 624264... (4 Replies)
Discussion started by: PRS
4 Replies

6. UNIX for Dummies Questions & Answers

Please help me to find out maximum value of a field based on grouping of other fields.

Please help me to find out maximum value of a field based on grouping of other fields, as we do in SQL. Like in SQL if we are having below records : Client_Name Associate_Name Date1 Value C1111 A1111 2012-01-17 10 C1111 A1111 ... (1 Reply)
Discussion started by: KamalKumarKalra
1 Replies

7. Shell Programming and Scripting

Matching and Merging csv data fields based on a common field

Dear List, I have a file of csv data which has a different line per compliance check per host. I do not want any omissions from this csv data file which looks like this: date,hostname,status,color,check 02-03-2012,COMP1,FAIL,Yellow,auth_pass_change... (3 Replies)
Discussion started by: landossa
3 Replies

8. Shell Programming and Scripting

Read in 2-column CSV, output many files based on field

Is there a way to read in a two-columned CSV file, and based on the fields in 1st column, output many different files? The input/output looks something like: input.csv: call Call Mom. call Call T-Mobile. go Go home. go Go to school. go Go to gas station. play Play music. play Play... (4 Replies)
Discussion started by: pxalpine
4 Replies

9. Shell Programming and Scripting

Merging fields in CSV

Hi experts, I have a csv file which has one field (ID) repeated multiple times with corresponding other field values. I need to convert this file in a format where for a ID all other values has to be present in single field. For Eg : Here in below file ID 1 is repeated 3 times with different... (7 Replies)
Discussion started by: bharathbangalor
7 Replies

10. Shell Programming and Scripting

awk to print lines based on text in field and value in two additional fields

In the awk below I am trying to print the entire line, along with the header row, if $2 is SNV or MNV or INDEL. If that condition is met or is true, and $3 is less than or equal to 0.05, then in $7 the sub pattern :GMAF= is found and the value after the = sign is checked. If that value is less than... (0 Replies)
Discussion started by: cmccabe
0 Replies
DBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server(3pUser Contributed Perl DocumentatDBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server(3pm)

NAME
DBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server - Support specific to Microsoft SQL Server over ODBC DESCRIPTION
This class implements support specific to Microsoft SQL Server over ODBC. It is loaded automatically by by DBIx::Class::Storage::DBI::ODBC when it detects a MSSQL back-end. Most of the functionality is provided from the superclass DBIx::Class::Storage::DBI::MSSQL. USAGE NOTES
Basic Linux Setup (Debian) sudo aptitude install tdsodbc libdbd-odbc-perl unixodbc In case it is not already there put the following in "/etc/odbcinst.ini": [FreeTDS] Description = FreeTDS Driver = /usr/lib/odbc/libtdsodbc.so Setup = /usr/lib/odbc/libtdsS.so UsageCount = 1 Set your $dsn in connect_info as follows: dbi:ODBC:server=<my.host.name>;port=1433;driver=FreeTDS;tds_version=8.0 If you use the EasySoft driver (<http://www.easysoft.com>): dbi:ODBC:server=<my.host.name>;port=1433;driver=Easysoft ODBC-SQL Server Basic Windows Setup Use the following $dsn for the Microsoft ODBC driver: dbi:ODBC:driver={SQL Server};server=SERVERSQL_SERVER_INSTANCE_NAME And for the Native Client: dbi:ODBC:driver={SQL Server Native Client 10.0};server=SERVERSQL_SERVER_INSTANCE_NAME Go into Control Panel -> System and Security -> Administrative Tools -> Data Sources (ODBC) to check driver names and to set up data sources. Use System DSNs, not User DSNs if you want to use DSNs. If you set up a DSN, use the following $dsn for connect_info: dbi:ODBC:dsn=MY_DSN MULTIPLE ACTIVE STATEMENTS
The following options are alternative ways to enable concurrent executing statement support. Each has its own advantages and drawbacks and works on different platforms. Read each section carefully. In order of preference, they are: o mars o dynamic_cursors o server_cursors METHODS
connect_call_use_mars Use as: on_connect_call => 'use_mars' in your connection info, or alternatively specify it directly: Your::Schema->connect ( $original_dsn . '; MARS_Connection=Yes', $user, $pass, \%attrs, ) Use to enable a feature of SQL Server 2005 and later, "Multiple Active Result Sets". See "Does DBD::ODBC support Multiple Active Statements?" in DBD::ODBC::FAQ for more information. This does not work on FreeTDS drivers at the time of this writing, and only works with the Native Client, later versions of the Windows MS ODBC driver, and the Easysoft driver. connect_call_use_dynamic_cursors Use as: on_connect_call => 'use_dynamic_cursors' Which will add "odbc_cursortype => 2" to your DBI connection attributes, or alternatively specify the necessary flag directly: Your::Schema->connect (@dsn, { ... odbc_cursortype => 2 }) See "odbc_cursortype" in DBD::ODBC for more information. If you're using FreeTDS, "tds_version" must be set to at least 8.0. This will not work with CODE ref connect_info's. WARNING: on FreeTDS (and maybe some other drivers) this will break "SCOPE_IDENTITY()", and "SELECT @@IDENTITY" will be used instead, which on SQL Server 2005 and later will return erroneous results on tables which have an on insert trigger that inserts into another table with an "IDENTITY" column. WARNING: on FreeTDS, changes made in one statement (e.g. an insert) may not be visible from a following statement (e.g. a select.) connect_call_use_server_cursors Use as: on_connect_call => 'use_server_cursors' May allow multiple active select statements. See "odbc_SQL_ROWSET_SIZE" in DBD::ODBC for more information. Takes an optional parameter for the value to set the attribute to, default is 2. WARNING: this does not work on all versions of SQL Server, and may lock up your database! At the time of writing, this option only works on Microsoft's Windows drivers, later versions of the ODBC driver and the Native Client driver. using_freetds Tries to determine, to the best of our ability, whether or not you are using the FreeTDS driver with DBD::ODBC. AUTHOR
See "AUTHOR" in DBIx::Class and "CONTRIBUTORS" in DBIx::Class. LICENSE
You may distribute this code under the same terms as Perl itself. perl v5.14.2 2011-05-10 DBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server(3pm)
All times are GMT -4. The time now is 10:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy