Sponsored Content
Top Forums Shell Programming and Scripting Perl - extracting data from .csv files Post 41601 by kowrip on Thursday 9th of October 2003 10:18:47 AM
Old 10-09-2003
Quote:
Originally posted by kregh99

Code:
EMP,Proj,hours,ot_hours,WE
83-401-5654,99100,11.00,0.00,20030914
83-401-5654,99728,26.00,0.00,20030914
83-401-5654,GQ09,3.00,0.00,20030914
44-807-5541,3578,5.00,0.00,20030914
44-807-5541,99100,6.00,0.00,20030914

If you look at the comments at the bottom of the Perl code, you can see where I can open a spreadsheet, dump the contents into an array, but I don't know how to deal with it from there.

Thanks.

- Craig
This type of work involves pretty basic Perl commands. After you open your file, read each line and call the split() function on each line in order to split the line into fields, delimited by the commas. For example:

-----------------------------------------
open(TIMESHEET, "< $ts") || die "Couldn't open $ts. Please check permissions. \n";

while ($line =<TIMESHEET>) {
chomp $line; # removes the carriage return
@array = split(/,/ , $line); # breaks the line up into fields

## NOW PROCESS EACH LINE HERE

}
close TIMESHEET;
-----------------------------------------

Since each line does NOT have the same format you will have to add code to test for specific lines. For example, the following line could be used to detect the line with the employee number:

if ($array[0] =~ /\d\d\-\d+\-\d+/) {
$emp_number = $&;
}

You'd have to detect other lines in similar way. This is all elementary Perl. If you aren't familiar with Perl, I'd suggest picking up a book such as "Learning Perl".
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extracting data from files..

frnds, I m having prob woth doing some 2-3 task simultaneously... what I want is... I have lots ( lacs ) of files in a dir... I want.. these info from arround 2-3 months files filename convention is - abc20080403sdas.xyz ( for todays files ) I want 1. total no of files for 1 dec... (1 Reply)
Discussion started by: clx
1 Replies

2. Shell Programming and Scripting

extracting data from a .csv file

I have a .csv file equipment,bandtype abc,aws def,mmds ghi,umts jkl,mmds I can get the equipment from `hostname`. In my script i want to check what is the hostname. then see if it exists in the.csv file. if it does then i want to store the second parameter(bandtype) for the corresponding... (3 Replies)
Discussion started by: lassimanji
3 Replies

3. UNIX for Dummies Questions & Answers

Extracting data from many compressed files

I have a large number (50,000) of pretty large compressed files and I need only certain lines of data from them (each relevant line contains a certain key word). Each file contains 300 such lines. The individual file names are indexed by file number (file_name.1, file_name.2, ... ,... (1 Reply)
Discussion started by: Boltzmann
1 Replies

4. UNIX for Dummies Questions & Answers

Extracting data from PDF files into CSV file

Hi, I have several hundreds of PDFfiles number 01.pdf, 02.pdf, 03.pdf, etc in one folder. These are vey long documentd with a lot of information (text, tables, figures, etc). I need to extract the information asociated with one disease in particular (Varicella). The information I need to... (5 Replies)
Discussion started by: Xterra
5 Replies

5. Shell Programming and Scripting

Copy Data from CSV file to Excel Sheet using Perl

Hi All, Firstly I will like to wish A Happy New Year to all. Now my issue is I have one csv file say(data.csv) and one excel file say(result.xls) The result.xls contains two sheet name Sheet1 and Sheet2, Now What I am trying to do is to First I want to delete that data of Sheet2 if present any,... (6 Replies)
Discussion started by: adisky123
6 Replies

6. Shell Programming and Scripting

Script for extracting data from csv file based on column values.

Hi all, I am new to shell script.I need your help to write a shell script. I need to write a shell script to extract data from a .csv file where columns are ',' separated. The file has 5 columns having values say column 1,column 2.....column 5 as below along with their valuesm.... (3 Replies)
Discussion started by: Vivekit82
3 Replies

7. Programming

Python script for extracting data using two files

Hello, I have two files. File 1 is a list of interested IDs Ex1 Ex2 Ex3File 2 is the original file with over 8000 columns and 20 millions rows and is a compressed file .gz Ex1 xx xx xx xx .... Ex2 xx xx xx xx .... Ex2 xx xx xx xx ....Now I need to extract the information for all the IDs of... (4 Replies)
Discussion started by: nans
4 Replies

8. Shell Programming and Scripting

Compare 2 files of csv file and match column data and create a new csv file of them

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

Extracting data from specific rows and columns from multiple csv files

I have a series of csv files in the following format eg file1 Experiment Name,XYZ_07/28/15, Specimen Name,Specimen_001, Tube Name, Control, Record Date,7/28/2015 14:50, $OP,XYZYZ, GUID,abc, Population,#Events,%Parent All Events,10500, P1,10071,95.9 Early Apoptosis,1113,11.1 Late... (6 Replies)
Discussion started by: pawannoel
6 Replies

10. Shell Programming and Scripting

Extracting part of data from files

Hi All, I have log files as below. log1.txt <table name="content_analyzer" primary-key="id"> <type="global" /> </table> <table name="content_analyzer2" primary-key="id"> <type="global" /> </table> Time taken: 1.008 seconds ID = gd54321bbvbvbcvb <table name="content_analyzer"... (7 Replies)
Discussion started by: ROCK_PLSQL
7 Replies
PERLIO(1)						User Contributed Perl Documentation						 PERLIO(1)

NAME
APR:PerlIO -- An APR Perl IO layer SYNOPSIS
use APR::PerlIO (); sub handler { my $r = shift; open my $fh, ">:APR", $filename, $r or die $!; # work with $fh as normal $fh close $fh; return Apache::OK; } DESCRIPTION
"APR::PerlIO" implements a Perl IO layer using APR's file manipulation as its internals. Why do you want to use this? Normally you shouldn't, probably it won't be faster than Perl's default layer. It's only useful when you need to manipulate a filehandle opened at the APR side, while using Perl. Normally you won't call open() with APR layer attribute, but some mod_perl functions will return a filehandle which is internally hooked to APR. But you can use APR Perl IO directly if you want. METHODS
Perl Interface: open() To use APR Perl IO to open a file the four arguments open() should be used. For example: open my $fh, ">:APR", $filename, $r or die $!; where: the second argument is the mode to open the file, constructed from two sections separated by the ":" character: the first section is the mode to open the file under (>, <, etc) and the second section must be a string APR. the fourth argument can be a "Apache::RequestRec" or "Apache::ServerRec" object. the rest of the arguments are the same as described by the open() manpage. seek() seek($fh, $offset, $whence); If $offset is zero, "seek()" works normally. However if $offset is non-zero and Perl has been compiled with with large files support ("-Duselargefiles"), whereas APR wasn't, this function will croak. This is because largefile size "Off_t" simply cannot fit into a non-largefile size "apr_off_t". To solve the problem, rebuild Perl with "-Uuselargefiles". Currently there is no way to force APR to build with large files support. The C interface provides functions to convert between Perl IO and APR Perl IO filehandles. SEE ALSO
The perliol(1), perlapio(1) and perl(1) manpages. perl v5.8.0 2002-06-05 PERLIO(1)
All times are GMT -4. The time now is 10:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy