import csv #working with csv files
from datetime import datetime #this will allow accessing time for later use
#initialize class for every output
class InventoryReports:
def __init__(self, item_list):
self.item_list = item_list #provide list to create new file
#Part a
#Create FullInventory.csv for entire inventory
#Following order ID, manufacture name, item type, price, service date, damaged
def fullInventory(self):
with open('FullInventory.csv', 'w') as file:
items = self.item_list
keys = sorted(items.keys(), key=lambda x: items[x]['manufacturer']) #sorted alphabetically by manufacture
for item in keys:
id = item
manufacture = items[item]['manufacturer']
itemType = items[item]['item_type']
price = items[item]['price']
serviceDate = items[item]['service_date']
damaged = items[item]['damaged']
file.write('{},{},{},{},{},{}\n'.format(id, manufacture, itemType, price, serviceDate, damaged))
Here is a very verbose method, untested.
import csv #working with csv files
from datetime import datetime #this will allow accessing time for later use
#initialize class for every output
class InventoryReports:
def __init__(self, item_list):
self.item_list = item_list #provide list to create new file
def fullInventory(self):
with open('FullInventory.csv', 'w') as file:
items = self.item_list
for i in range(len(items)):
for j in range(len(items) - 1):
if items[j][2] > items[j+1][2]:
items[j], items[j+1] = items[j+1], items[j]
for i in range(len(items)):
for j in range(len(items) - 1):
if items[j][1] > items[j+1][1]:
items[j], items[j+1] = items[j+1], items[j]
for i in range(len(items)):
for j in range(len(items) - 1):
if items[j][3] > items[j+1][3]:
items[j], items[j+1] = items[j+1], items[j]
# write header
file.write('ID,Manufacturer,Item Type,Price,Service Date,Damage\n')
# write items
for item in items:
for i in range(len(item)):
if i == 0:
file.write(item[i])
else:
file.write(',' + item[i])
file.write('\n')
id = item
manufacture = items[item]['manufacturer']
itemType = items[item]['item_type']
price = items[item]['price']
serviceDate = items[item]['service_date']
damaged = items[item]['damaged']
file.write('{},{},{},{},{},{}\n'.format(id, manufacture, itemType, price, serviceDate, damaged))