Skip to content

An open-source project shortlisted for FOSSEE Fellowship at Indian Institute of Technology Bombay (IIT-B) capable to manipulate, edit, and plot graphs for CSV data having capabilities for processing very large CSV using background threaded parallel processing

kushan02/Large_CSV_File_Viewer_Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

fsf_2019_screening_task2

This project done for the completion of screening task for python, FOSSEE 2019 fellowship. The task requirement was to implement a fully functional GUI CSV Editor by using Python and PyQT as open source project hosted on github.

Features (Click to expand)
1. Load a CSV file and view it in table form
2. Add data to the table as a new blank row
3. Edit Data in the table
4. Delete data from the table:
    1) Option to delete whole column or whole row and also individual cells
5. show/hide Columns: Select which columns should be visible in the desired table
6. Plot any two columns with following plots in a new tab:
    1) Plot scatter points
    2) Plot scatter points with smooth lines
    3) Plot lines
7. Ability to add a custom title for the plot on the fly
8. Ability to flip the X and Y axes on the fly
9. Save the plot as PNG file
10. Prompt for saving the file in case any modifications are made to the original file
Screening Task for fossee fellowship 2019, IITB internship.

Technologies/Libraries to use:

  1. Python
  2. PyQt/Kivy

Instructions:

  1. Create a Github Account or Use your existing one.

  2. Create a new Repository in your Github Account for this task called fsf_2019_screening_task2

  3. Commit your code at regular intervals by doing small incremental changes to your code (committing huge blobs of code all at once is not recommended).

  4. The steps in “Description” below are general, minimum and mandatory guidelines. You are free to add well documented features to your application.

Description:

Following functionalities should be present in the application.

User should be able to:

  1. Load a csv file using ‘Load’ option available under “File” menu

  2. Display the complete data from the loaded csv as a table

  3. Edit the existing data in the table using ‘Edit data’ option under “Edit” menu.

  4. Add new data to the table using ‘Add data’ option under “File” menu.

  5. Select any number of columns from the displayed table

  6. Plot the data from any two selected columns should be available as buttons as mentioned below:

    1. Plot scatter points

    2. Plot scatter points with smooth lines

    3. Plot lines

  7. Click on any of the plot button. Plot should be generated accordingly in a new tab.

  8. Label x-axis and y-axis accordingly.

  9. Add a title to the graph.

  10. Save the plot as .png file using ‘Save as png’ option under “File” menu.

Submissions:

  1. Create a Github Account or Use your existing one.

  2. Create a new Repository in your Github Account for this task called fsf_2019_screening_task2

  3. Send the Link of your github repository to contact-om[at]fossee[dot]in

Usage (Click to expand)
  1. Download the project from github or clone the repo to your machine using:

    git clone https://github.com/kushan02/fsf_2019_screening_task2.git
    
  2. Install the project requirements using pip:

    If on linux, type: pip3 install -r requirements.txt


If on windows type ```pip install -r requirements.txt```
  1. NOTE: If you are on ubuntu, you may need an additional step to get everything working:
    sudo apt-get install python3-tk
    (Matplot lib internally requires this for plotting on GUI)
  2. To run the app, navigate to src folder in the terminal using cd src
    Now execute the app by:
    python3 app.py if on Linux
    python app.py if on Windows
Screenshots (Click to expand)

Screenshot_1 Screenshot_2 Screenshot_3 Screenshot_4 Screenshot_5 Screenshot_6 Screenshot_7 Screenshot_8 Screenshot_9 Screenshot_10 Screenshot_11 Screenshot_12 Screenshot_13

About

An open-source project shortlisted for FOSSEE Fellowship at Indian Institute of Technology Bombay (IIT-B) capable to manipulate, edit, and plot graphs for CSV data having capabilities for processing very large CSV using background threaded parallel processing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages