import matplotlib.pyplot as plt
import pandas as pd

def int_list(input_file: str, vars: []):
    data = []
    with open(input_file, 'r') as file:
        lines = file.readlines()
    headers = lines[0].strip().split(';')
    for line in lines[1:]:
        values = line.strip().split(';')
        row_dict = {headers[i]: values[i] for i in range(len(headers))}
        data.append(row_dict)
    discrete_variables = vars
    for var in discrete_variables:
        var_values = [row[var] for row in data]
    int_values = [int(numeric_string) for numeric_string in var_values]
    return int_values

def do_stuff(input_file: str):
    int_values = int_list(input_file, ['SalePrice'])
    s = pd.Series(int_values)
    print(f'Median: {s.median()}')
    print(f'Mean: {s.mean()}')
    print(f'Quartile: {s.quantile(0.25)} {s.quantile(0.75)}')
    print(f'Decile:  {s.quantile(0.1)} {s.quantile(0.9)}')
    print()
    print(f'Range: {s.max() - s.min()}')
    print(f'Qartile diff: {s.quantile(0.75) - s.quantile(0.25)}')
    print(f'STD: {s.std()}')

def do_stuff2(input_file: str):
    print()
    # plt.boxplot(int_list(input_file, ['Year Built']))
    # plt.show()
    # plt.boxplot(int_list(input_file, ['Year Remod/Add']))
    # plt.show()
    data = [int_list(input_file, ['Year Built']),int_list(input_file, ['Year Remod/Add'])]
    fig = plt.figure(figsize=(11, 7))

    # Creating axes instance
    ax = fig.add_axes([0, 0, 1, 1])


    # Creating plot
    bp = ax.boxplot(data)

    # show plot
    plt.show()


def test():
    print(int_list("AmesHousing.csv",['SalePrice, Year Built, Year Remod/Add']))

do_stuff2("AmesHousing.csv")
#test()
