Preliminary conditions:
1. The program should ran on windows 7 64bit
2. Easy to run- click on the program, select a folder via GUI and done
3. Code should be provided
Broad view:
The program input a folder containing several (~900) CSV (comma separated values) files, make calculations and output new CSV files to a new folder. A standard CSV will contain ~600 lines and ~15 columns.
Algorithm:
1. User inputs
a. Introduced by GUI:
i. folder containing CSV files
b. Introduced by a Properties file:
i. Column(s) on which the calculation is made (one or more), (column contain numeric value)
ii. List of thresholds (positive number between 0.00001 to 10) in ascending order. Number of thresholds is<15
2. Calculation (for any column listed on input 1.b.i):
a. Percentage difference:
(Starting from the second row) = (C(x)-C(x-1)) / C(x-1)) * 100.
Where C is a column (input on item 1bi) and C(x) is the value of column C on row #x.
C(x) is a positive number between 0.001 to 1000000.
The result of the calculation should be added as a new column following column C on row x, with header "COLUMNNAME_CALC" where "COLUMNNAME" is the name of the original column the calculation is based on.
b. The next column following the calc column (2a) should contain either 1 or 0 or -1. Depending on the result: 1 if positive, -1 if negative, 0 if 0.
The header of this column "COLUMNNAME_SIGN" where "COLUMNNAME" is the name of the original column the calculation is based on.
c. The next column should contain the score of the results on 2a.
According to the thresholds listed on 1d, the result calculated on 2a get scored.
Score=0 if result=0
Score=1 if 0<(result)=<(1st threshhold)
Score=2 if (1st threshhold)<(result) )=<(2nd threshhold)
Etc
scores can get negative values:
Score=(-1) if 0>(result)=>((-1)*1st threshhold)
Etc
The header of this column "COLUMNNAME_THRESHOLD" where "COLUMNNAME" is the name of the original column the calculation is based on.
d. The same applies to each additional column provided in the input stage.
3. The output
a. A new folder will be created in the input folder named as the input folder with "_pass" post-fix
b. Files should have the original name with post-fix "[login to view URL]"
ie file "aa,csv"-->"[login to view URL]".
I am Electrical Engineer and have good command of data processing tools like Matlab. I am expert of Microsoft Office and different technical software. I will complete your task with full commitment and dedication and will try to finish it even earlier than the mentioned time period.
Hi,
I can complete this project with Python + pyQt. Check my profile for a similar project I've done and contact me if you are interested. Thank you.
Sincerely,
Jason
Hi! I am a developer with lots of data manipulation and data processing software development experience. Please hire me if you want a neat solution, in a couple of days, to process your CSV files.
I have been a professional geologist for 32 years and in that time I have worked for many international companies and many different data sets. The work always required a high level of accuracy and strict adherence to deadlines.
I have extensive experience in data capturing, data processing and verification as well as data compilation.
I know I can be of great value to any data related project.
I already have experience in parsing/reading CSV. files before in my current job. I'll code it using MFC to produce a very simple user interface that you require.