1
+ import openpyxl as excel
2
+ from openpyxl .chart import BarChart , Reference
3
+
4
+ def process_workbook (workbook ):
5
+ workbook = excel .load_workbook (workbook )
6
+ sheet_name = input ("Ingrese el nombre de la hoja que desea leer (Tener en cuenta las mayusculas y minusculas): " )
7
+ sheet = None
8
+ try :
9
+ sheet = workbook [sheet_name ] # Verifica si la hoja existe.
10
+ except KeyError :
11
+ print (f"La hoja '{ sheet_name } ' no existe en el libro de trabajo." )
12
+ exit ()
13
+
14
+ for row in range (2 , sheet .max_row + 1 ):
15
+ price_cell = sheet .cell (row , 3 )
16
+ corrected_price = price_cell .value * 0.90
17
+ corrected_price_cell = sheet .cell (row , 4 )
18
+ corrected_price_cell .value = corrected_price # Se asigna el valor corregido a la celda correspondiente.
19
+
20
+ new_cell = input ("Indique el nombre de la columna nueva donde quedaran los precios corregidos: " )
21
+ sheet .cell (1 , 4 ).value = new_cell # Se asigna el nombre de la nueva columna en la primera fila.
22
+
23
+ # Se crea un gráfico de barras para visualizar los precios corregidos.
24
+ values = Reference (sheet , min_row = 2 , max_row = sheet .max_row , min_col = 4 , max_col = 4 )
25
+ chart = BarChart ()
26
+ chart .add_data (values )
27
+ chart .title = new_cell
28
+ sheet .add_chart (chart , "E2" ) # Se agrega el gráfico a la hoja en la celda A5.
29
+
30
+ workbook .save (workbook ) # Se guarda el libro de trabajo con los cambios realizados.
31
+ workbook .close () # Se cierra el libro de trabajo para liberar recursos.
32
+ print ("El archivo 'transactions_corrected.xlsx' ha sido creado con los precios corregidos." )
33
+
34
+ if __name__ == "__main__" :
35
+ try :
36
+ workbook_file = input ("Ingrese el nombre del archivo de Excel (con extensión .xlsx): " )
37
+ process_workbook (workbook_file )
38
+ except FileNotFoundError :
39
+ print ("El archivo 'transactions.xlsx' no se encuentra en el directorio actual." )
40
+ except Exception as e :
41
+ print (f"Ocurrió un error: { e } " )
0 commit comments