An open API service indexing awesome lists of open source software.

https://github.com/abraaohonorio/csv_challenge


https://github.com/abraaohonorio/csv_challenge

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# 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:
```bash
Python 3.10.0
```

Installation
Clone the repository from GitHub:
```bash
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:

```bash
python main.py
```