Este codigo me permite usar la data de distintos xlsx. Basicamente reacomodo la data en una tabla similar a la dinamica. El problema es que esta hecho para 3 columnas nomas:
Codigo:
import pandas as pd import pandas.io.formats.excel # Leemos ambos archivos y los cargamos en DataFrames df1 = pd.read_excel("archivo1.xlsx") df2 = pd.read_excel("archivo2.xlsx") # Pivotamos ambas tablas df1 = df1.pivot(index = "Cliente", columns='Fecha', values=['impresiones','Revenue']) df2 = df2.pivot(index = "Cliente", columns='Fecha', values=['impresiones','Revenue']) # Unimos ambos dataframes tomando la columna "Cliente" como clave merged = pd.merge(df1, df2, right_index =True, left_index = True, how='outer') merged.sort_index(axis=1, inplace=True) # Creamos el xlsx de salida pandas.io.formats.excel.header_style = None with pd.ExcelWriter("Data.xlsx", engine='xlsxwriter', date_format='dd/mm/yyyy', datetime_format='dd/mm/yyyy') as writer: merged.to_excel(writer, sheet_name='Sheet1')
Archivo base:
Archivo creado:
Aca viene el problema, si tengo una base que es asi:
QUiero este resultado:
intente de esta forma, pero me da un error
df1 = df1.pivot(index = "Cliente", columns='Fecha', values=['impresiones','Revenue']) df2 = df2.pivot(index = "Cliente", columns='Fecha', values=['impresiones','Revenue'])