CSV Challenge

CSV Challenge is a Python command-line application that processes CSV files and outputs the results in CSV format. Deliverables You will be provided with a list of legislators, bills, votes, and vote results as specified above. You’ll be asked to answer the following questions:

  1. For every legislator in the dataset, how many bills did the legislator support(voted for the bill)? How many bills did the legislator oppose?
  2. For every bill in the data set, how many legislators supported the bill? How many legislators opposed the bill? Who was the primary sponsor of the bill?

Answers

1 - Time complexity is Linear time complexity O(n) means that the algorithms take proportionally longer to complete as the input grows, that is, for each line of Vote_Result.csv, but I can this result because I spent more memory(with the use of a dictionary).

2 - In case has in some CSV already there is, should create a new property in Class that the CSV represented, but if it has its own CSV file, then the written script would have to iterate again and match with the ID to get the information requested. The same logic follows Bill Voted.

3 - It would totally remove the CSV reading issue, turn that list into a dictionary as I did, and follow the same current flow with both processors

4 - 4 hours(but I can't work 4 hours straight)

Requirements

The following software is required to run this application:

Python 3.10.0

Installation Clone the repository from GitHub:

git clone https://github.com/AbraaoHonorio/csv_challenge.git

Change into the project directory:

cd csv_challenge

Usage

To run the application, navigate to the project directory and run the following command:

python main.py