0% found this document useful (0 votes)
4 views2 pages

2 Adapter

Uploaded by

Emerson Espinoza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views2 pages

2 Adapter

Uploaded by

Emerson Espinoza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

ESTRUCTURA

1.Target
2.Client
3.Adaptee
4.Adapter

data_handler.py
import json
import csv

class JsonDataHandler:
def load_data(self,file_path):
with open(file_path,'r') as file:
return json.load(file)

class CsvDataHandler:
def load_data(self,file_path):
with open(file_path,'r') as file:
return list(csv.DictReader(file))

adapter.py
from data_handlers import JsonDataHandler, CsvDataHandler

class CsvToJsonAdapter:
def __init__(self,csv_handler: CsvDataHandler):
self.csv_handler = csv_handler

def load_data(self,file_path):
csv_data = self.csv_handler.load_data(file_path)
return [dict(row) for row in csv_data]

main.py
from adapter import CsvToJsonAdapter
from data_handlers import JsonDataHandler, CsvDataHandler

def load_and_display_data(data_handler,file_path):
data = data_handler.load_data(file_path)
print(data)

def main():
#JSON HANDLER
json_handler = JsonDataHandler()
json_path = "sample_data.json"
load_and_display_data(json_handler,json_path)

#CSV HANDLER
csv_handler = CsvDataHandler()
csv_path = "sample_data.csv"
csv_adapter = CsvToJsonAdapter(csv_handler)
load_and_display_data(csv_adapter,csv_path)

input()

if __name__ == '__main__':
main()

You might also like