Untitled

 avatar
unknown
plain_text
2 years ago
2.0 kB
4
Indexable
import csv
import pandas
import pickle

def writeIntoCSV():
    totalCities = int(input("How many cities you want to enter: "))
    counter = 0
    sum_of_population = 0
    all_cities_list = []
    header_list = ['City','Population']
    all_cities_list.append(header_list)
    while(counter < totalCities):
        singleCityList = []
        inputCityName = input("Enter the City: ")
        singleCityList.append(inputCityName)
        inputCityPopulation = int(input("Enter the "+inputCityName + " population: "))
        sum_of_population += inputCityPopulation
        singleCityList.append(inputCityPopulation)
        all_cities_list.append(singleCityList)
        counter += 1
    
    with open('test.csv','w',newline="") as afile:
        writer = csv.writer(afile)
        writer.writerows(all_cities_list) 
    readFromCSV()
    print("----------------- The average of "+ str(totalCities) +" cities is --------------------")   
    print("Average : "+str(sum_of_population/totalCities))

def readFromCSV():
    csv_record = pandas.read_csv("test.csv",index_col="City")
    print(csv_record)

def serialization():
    filename = "serialization.data"
    inputLines = int(input("How many lines you want to enter in file "+ filename + ": "))
    counter = 0
    singleCityList = []
    while(counter < inputLines):
        inputLine = input("Enter the "+ str(counter+1) +" line: ")
        singleCityList.append(inputLine)
        counter += 1
    with open(filename,"wb") as writeLine:
        pickle.dump(singleCityList,writeLine)
            
def menu():
    print('1 - Enter population data ')
    print('2 - Serialization')
    print('3 - Exit')
    return input('Choose any option: ')

while True:
    choice = menu()
    if choice == '1':
        writeIntoCSV()
    elif choice == '2':
        serialization()
    elif choice == '3':
        break
    else:
        print("Invalid choice")