https://github.com/infinityworks/generation-academy-tech-test
A sample tech test repo for the Generation Data Academy
https://github.com/infinityworks/generation-academy-tech-test
academy csv generation python tech test tests
Last synced: 2 months ago
JSON representation
A sample tech test repo for the Generation Data Academy
- Host: GitHub
- URL: https://github.com/infinityworks/generation-academy-tech-test
- Owner: infinityworks
- License: gpl-3.0
- Created: 2022-07-12T14:18:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-02T15:27:53.000Z (over 1 year ago)
- Last Synced: 2024-08-02T17:21:19.705Z (over 1 year ago)
- Topics: academy, csv, generation, python, tech, test, tests
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 7
- Watchers: 66
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Generation Academy Tech Test
## The Task
Your team has been given a list of people who work at your company in quoted CSV format, with a requirement to produce a clean output of the CSV file using a Python application _(See below)_.
Another member of your team has started work on a CSV parser to load the data from this file. You have been asked to finish the program by implementing the `__parse_row` method in `csvparser.py`.
_Your only area of focus should be the implementation of the method._
CSV:
```text
"Kacie","Holland","Principal Consultant",""
"Alishia","Burt","Consultant",""
"Yazmin","Rice","Senior Consultant",""
"Edmund","Ramsey","Consultant",""
"Oliver","Rooney","Associate Consultant",""
"Anisa","Hancock","Consultant","Has requested to join a different client"
...
```
Output:
```text
Kacie - Holland - Principal Consultant -
Alishia - Burt - Consultant -
Yazmin - Rice - Senior Consultant -
Edmund - Ramsey - Consultant -
Oliver - Rooney - Associate Consultant -
Anisa - Hancock - Consultant - Has requested to join a different client
...
```
_Note_ : Please do not fork the repository.
## Sample data
Three example .csvs have been included in the `data` directory. Solve the problem for `people-list.csv` first, then if time consider updating the code to ensure edge cases in `people-list-comma.csv`, and then `people-list-full.csv` are also handled.
## Prerequisites
* Python 3
* A clone of this repo
* A suitable dev environment, such as `VSCode`
## Getting Started
Create a new virtual environment:
```sh
# Windows
$ py -m venv venv
# MacOS/Unix
$ python3 -m venv venv
```
Activate the virtual environment:
```sh
# Windows
$ source venv/Scripts/activate
# MacOS/Unix
$ source venv/bin/activate
```
Run the app:
```sh
# Windows
$ py app.py
# MacOS/Unix
$ python3 app.py
```