def costo_camion(filename): ''' Calcula el costo total (cajones*precio) de un camión ''' camion = informe.leer_camion(filename) return camion.precio_total()
def main(): print(f"{'Inicio del enunciado' : ^60}") peras = Lote("Pera", 100, 490.1) print(peras) print(f"{'Fin del enunciado' : ^60}") camion = informe.leer_camion("Data/camion.csv") print(camion)
def ticker(archivo_camion, archivo_data, formato='txt'): rows = parsear_datos(vigilar(archivo_data)) camion = leer_camion(archivo_camion) rows = filtrar_datos(rows, camion) formateador = formato_tabla.crear_formateador(formato) formateador.encabezado(['Nombre', 'Precio', 'Volumen']) for row in rows: row = list(row.values()) formateador.fila(row)
def ticker(camion_file, log_file, fmt): formateador = crear_formateador(fmt) camion = informe.leer_camion('Data/camion.csv') formateador.encabezado(['nombre', 'precio', 'volumen']) #seteo headers filas = parsear_datos(vigilar('Data/mercadolog.csv')) filas = filtrar_datos(filas, camion) for fila in filas: formateador.fila(str(v) for v in fila.values()) #seteo filas
def costo_camion(nombre_archivo): ''' Calcula y devuelve el costo de cargar un camión a partir de un archivo con la cantidad de cajones y su precio. Utiliza informe_funciones.leer_camion(). ''' camion = leer_camion(nombre_archivo) return camion.precio_total()
def main(argv): """ Computa el precio total del camion """ if len(sys.argv) != 2: raise SystemExit(f'Uso adecuado: {sys.argv[0]} ' 'path:archivo_camion') camion = informe.leer_camion(open(argv[1], encoding='utf8').readlines()) total = sum([(x['precio']) * (x['cajones']) for x in camion]) return total
def ticker(camion_file, log_file, fmt): ''' Imprime por pantalla en el formato deseado ''' camion = informe.leer_camion(camion_file) filas = parsear_datos(vigilar(log_file), types = [str, str, str]) filas = filtrar_datos (filas, camion) formateador = formato_tabla.crear_formateador(fmt) formateador.encabezado(['nombre', 'precio', 'volumen']) while True: for fila in filas: formateador.fila(fila.values())
def ticker(camion_file, log_file, fmt): # Elige formato camion = informe.leer_camion(camion_file) filas = parsear_datos(vigilar(log_file)) # filas = filtrar_datos (filas, camion) filas = ( fila for fila in filas if fila['name'] in camion ) # Expresión generadora para obtener los datos que se encuentren en camion formateador = formato_tabla.crear_formateador(fmt) formateador.encabezado(['nombre', 'precio', 'volumen']) for fila in filas: formateador.fila(fila.values())
def main(): import informe camion = informe.leer_camion("Data/camion.csv") for line in vigilar("Data/mercadolog.csv"): fields = line.split(",") nombre = fields[0].strip('"') precio = float(fields[1]) volumen = int(fields[2]) if nombre in camion: print(f"{nombre:>10s} {precio:>10.2f} {volumen:>10d}")
def costo_camion(file_name): # Variables costo = 0 rows = informe.leer_camion(file_name) # Imprimo datos y, a la vez, calculo precio de cajones for i, row in enumerate(rows, start=1): try: Ncajones = row.cajones Precio = row.precio costo += Ncajones * Precio except ValueError: # Si faltan datos, tirame un warning print(f'Fila {i}: No se puede interpretar: {row}') # Retorno con resultado return (costo)
def ticker(camion_file, log_file, fmt): fmtter = crear_formateador(fmt) headers = ['Nombre', 'Precio', 'Volumen'] camion = leer_camion(camion_file) lines = vigilar(log_file) rows = parsear_datos(lines) rows = (row for row in rows if row['nombre'] in camion) fmtter.encabezado(headers) for row in rows: fmtter.fila(row.values()) # if __name__ == '__main__': # camion = leer_camion('Data/camion.csv') # lines = vigilar('Data/mercadolog.csv') # rows = parsear_datos(lines) # rows = (row for row in rows if row['nombre'] in camion) # for row in rows: # print(row) # ticker('Data/camion.csv', 'Data/mercadolog.csv', 'txt')
# vigilante.py import os import time def vigilar(filename): f = open(filename, encoding='UTF-8') f.seek(0, os.SEEK_END) # Mover el índice 0 posiciones desde el EOF while True: line = f.readline() if line == '': time.sleep(0.5) # Esperar un rato y continue # vuelve al comienzo del while yield line if __name__ == '__main__': import informe camion = informe.leer_camion('Data/camion.csv') for line in vigilar('Data/mercadolog.csv'): fields = line.split(',') nombre = fields[0].strip('"') precio = float(fields[1]) volumen = int(fields[2]) if nombre in camion: print(f'{nombre:>10s} {precio:>10.2f} {volumen:>10d}')
def costo_camion(filename): ''' Calcula el costo total (cajones*precio) de un camión ''' camion = informe.leer_camion(filename) return sum([s['cajones'] * s['precio'] for s in camion])
def costo_camion(filename): ''' Computa el precio total (cantidad * precio) de un archivo camion ''' camion = informe.leer_camion(filename) return camion.precio_total()
# Dani Suarez - [email protected] # Ejercicio 9.7: Cambios de precio de un camion import os import time from informe import leer_camion def vigilar(filename): f = open('Data/mercadolog.csv') f.seek(0, os.SEEK_END) # Mover el índice 0 posiciones desde el EOF while True: line = f.readline() if line == '': time.sleep(0.5) continue yield line if __name__ == '__main__': camion = leer_camion('Data/camion.csv') for line in vigilar('Data/mercadolog.csv'): fields = line.split(',') nombre = fields[0].strip('"') precio = float(fields[1]) volumen = int(fields[2]) if nombre in camion: print(f'{nombre:>10s} {precio:>10.2f} {volumen:>10d}')
# -*- coding: utf-8 -*- """ Created on Fri Aug 14 20:29:19 2020 @author: Diego """ from informe import leer_camion from collections import Counter camion = [('Pera', 100, 490.1), ('Naranja', 50, 91.1), ('Caqui', 150, 83.44), ('Naranja', 100, 45.23), ('Pera', 75, 572.45), ('Lima', 50, 23.15)] total_cajones = Counter() for nombre, n_cajones, precio in camion: total_cajones[nombre] += n_cajones camion = leer_camion('Data/camion.csv') tenencias = Counter() for s in camion: tenencias[s['nombre']] += int(s['cajones']) # Las 3 frutas con más cajones tenencias.most_common(3) camion2 = leer_camion('Data/camion2.csv') tenencias2 = Counter() for s in camion2: tenencias2[s['nombre']] += s['cajones']
def fun_costo_camion(archivo): costo = 0 data = informe.leer_camion(archivo) #Acá no hago ningún cambio for i, row in enumerate(data): costo += int(row["cajones"]) * float(row["precio"]) #Y bue, reemplazo return costo