Calculate average from CSV file using PERL script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Calculate average from CSV file using PERL script
# 22  
Old 09-06-2011
Hi Durden Tyler

Yeah I got the answer in out.txt. Let say I have fps1.csv, fps2.csv, fps3.csv .... then how to produce so that each log file will have its own result? Basicly my idea is the program will detect each csv file in the current directory, then it will include in array..so the program will load csv file from array..having some problem here..
# 23  
Old 09-06-2011
Quote:
Originally Posted by sayachop
...having some problem here..
What problem?

tyler_durden
# 24  
Old 09-06-2011
Hi

I try to modify so it can process many log file and produce result.txt for each file. Seems like my code is not correct
Code:
# Find filenames containing 'log' in current working directory
system("dir /b | find \".log\" /I > FPSList.txt");

open(LISTFILE, "<FPSList.txt") || die "Can't find FPSList.txt in current folder. Stopped execution";
@marklist = <LISTFILE>;

open(FILE, "ResultList.txt")
@resultlist=<amifile>;

#!perl -w
my $total   = 0;
my $lines   = 0;
my $infile  = @marklist;
my $outfile = @resullist;

# read $infile and process it
open (IN, "<", $infile) or die "Can't open $infile for reading: $!";
while (<IN>) {
  next if /^\s*$/;                  # ignore blank lines or lines that have only whitespaces
  chomp;                            # remove EOL character
  $total += (split /[,:]/)[1];      # running total of the FPS value
  $lines++;                         # increment the line number

close (IN) or die "Can't close $infile: $!";

# now write to $outfile
open (OUT, ">", $outfile) or die "Can't open $outfile for writing: $!";
print OUT $total/$lines;            # average is the total of FPS values divided by linecount
close (OUT) or die "Can't close $outfile: $!";
}


Last edited by Franklin52; 09-06-2011 at 03:04 AM.. Reason: Please use code tags for code and data samples, thank you
# 25  
Old 09-06-2011
Quote:
Originally Posted by sayachop
... Seems like my code is not correct
...
What makes you think so?
What's the error message?

tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to calculate average of csv using shell scripting?

Hi, I need to calculate the average of the following values using shell scripitng. Can anyone please suggest a solution? ... (10 Replies)
Discussion started by: karan pratap si
10 Replies

2. Shell Programming and Scripting

How to calculate avg values of csv file using shell scripting .?

hi all i have a reporting work and i want it to be automated using shell scripting kindly let me know how can i make that possibe . eg data are :... (2 Replies)
Discussion started by: Avinash shaw
2 Replies

3. Shell Programming and Scripting

How to calculate average of two columns and copy into another file?

Hi, I need help with the awk command. I have a folder with aprox 500 files each one with two columns and I want to print in a new file, the average of column 1 and average of column 2 and the name of each file. Input files are: File-1: 100 99 20 99 50 99 50 99 File-2: 200 85... (3 Replies)
Discussion started by: Lokaps
3 Replies

4. Shell Programming and Scripting

Perl script to modify csv file

Hi Friends, I want to convert a csv file into a ordinary .txt file. I am able to convert but I want the output to look as shown below in the .txt file table findhost= { {"xyz","abc"}, {"rxz","mmz"}, {"vrr","nnz"}, } default={"NONE"} My current perl script #!/usr/bin/env perl... (12 Replies)
Discussion started by: dbashyam
12 Replies

5. UNIX Desktop Questions & Answers

Calculate average for rows in a text file

Dear Gurus, I have tab-delimited text files with matrix containing values. The first column is a identifier and other columns have the corresponding values. I would like to calculate the average value (total number/number of entries) for all entries from 2nd column to the last column in row... (3 Replies)
Discussion started by: Unilearn
3 Replies

6. Shell Programming and Scripting

Calculate average time using a script

Hello, I'm hoping to get some help on calculating an average time from a list of times (hour:minute:second). Here's what my list looks like right now, it will grow (I can get the full date or change the formatting of this as well): 07:55:31 09:42:00 08:09:02 09:15:23 09:27:45 09:49:26... (4 Replies)
Discussion started by: jaredhanks
4 Replies

7. Shell Programming and Scripting

Please do help: Perl Script to pull out rows from a CSV file

I have CSV file that contains data in the format as shown below: ABC, 67, 56, 67, 78, 89, 76, 55 PDR, 85, 83, 83, 72, 82, 89, 83 MPG, 86, 53, 54, 65, 23, 54, 75 .. .. .. .. I want to create a script that will pull out the rows from the above sheet and paste it into another CSV file.... (12 Replies)
Discussion started by: pankajusc
12 Replies

8. Shell Programming and Scripting

Calculate average of each of position of contents in a huge file

My input: >AAA_100 10 20 50 60 10 100 15 10 >AAA_100 20 20 50 60 20 100 15 10 >AAA_100 10 20 50 60 40 100 15 10 >AAA_100 40 20 50 60 10 100 15 10 . . . My Output 20 20 50 60 20 100 15 10 If I have a long list of file. I want to calculate average of each position inside the contents... (7 Replies)
Discussion started by: patrick87
7 Replies

9. Shell Programming and Scripting

Simple Script needed for Processing CSV file perl

I am new to perl, and need a script to pull a CSV file, strip out 2 leading columns, and 2 ending columns, and resave the file in a new location. The file is basic and has less than 10,000 records. Secondly, can I schedule perl scripts to run daily? Can someone provide the basic script to... (1 Reply)
Discussion started by: cobbjob
1 Replies

10. Programming

calculate average

I have a file which is 2 3 4 5 6 6 so i am writing program in C to calculate mean.. #include<stdio.h> #include<string.h> #include <math.h> double CALL mean(int n , double x) main (int argc, char **argv) { char Buf,SEQ; int i; double result = 0; FILE *fp; (3 Replies)
Discussion started by: cdfd123
3 Replies
Login or Register to Ask a Question