Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.30 KB | None | 0 0
  1. import pandas as pd #libreria para trabajar hojas de calulo (xlsx, excel)
  2. import glob
  3. import datetime
  4. from datetime import date
  5. import calendar, locale
  6. import pytz
  7. import tzlocal
  8.  
  9.  
  10. #def escribirArchivos(DFtiendas):
  11. # try:
  12. # gruposDF = DFtiendas.groupby(['FECHA INICIO CMR','FECHA FIN CMR'])
  13. # for k, grupo in gruposDF:
  14.  
  15. # fechaInicio = str(grupo['FECHA INICIO CMR'].unique()[0]).replace("T00:00:00.000000000","")
  16. # fechaFin = str(grupo['FECHA FIN CMR'].unique()[0]).replace("T00:00:00.000000000","")
  17. # #tienda =str(grupo['TIENDAS'].unique()[0])
  18. # nombre = fechaInicio + " " + fechaFin + ".csv"
  19. # nombre2 = fechaInicio + " " + fechaFin + ".txt"
  20. # path_spf = 'C:/RPA_Pricing/6.Bot Peru/SPF/Archivos a Cargar/spf_'
  21. # path_spf_txt = 'C:/RPA_Pricing/6.Bot Peru/SPF/archivo txt/spf_'
  22. # skuPrecioDFtxt = pd.DataFrame(list(zip(grupo['SKU papa'])),
  23. # columns =['SKU papa'])
  24. #skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU papa'], grupo['Nuevo PRECIO CMR'])), #Genero un dataframe para escribirlo en un csv
  25. # columns =['SKU papa', 'Nuevo PRECIO CMR'])
  26. #skuPrecioDF.to_csv(path_spf+nombre, header=False, index=False, sep=',', encoding='utf-8')
  27. #skuPrecioDFtxt.to_csv(path_spf_txt+nombre2, header=False, index=False, sep='\t', encoding='utf-8')
  28. #return True
  29. #except:
  30. #return False
  31. def crearArchivos_srx(data_srx):
  32. locale.setlocale(locale.LC_ALL, 'es-ES')
  33. formato_dia= datetime.datetime.today().strftime('%A') # Dia de la semana de carga
  34. formato_dia = (formato_dia[0:3])
  35. formato_dia = 'jue'
  36. print(formato_dia)
  37. #try:
  38.  
  39. gruposDF = data_srx.groupby(['ALL','DESDE','HASTA','Dia de Carga','TIPO DE CAMBIO']) #Agrupados por carga
  40.  
  41. for k, grupo in gruposDF:
  42.  
  43. fechaInicio = str(grupo['DESDE'].unique()[0]).replace("00:00:00","")
  44. fechaFin = str(grupo['HASTA'].unique()[0]).replace("00:00:00","")
  45. tienda =str(grupo['ALL'].unique()[0])
  46. dia_carga =str(grupo['Dia de Carga'].unique()[0])
  47. tipo_cambio= str(grupo['TIPO DE CAMBIO'].unique()[0])
  48. print (grupo)
  49.  
  50.  
  51. if tipo_cambio == 'OFERTA' or tipo_cambio == 'EXTERMINAR - OFERTA' :
  52. if dia_carga == formato_dia:
  53. nombre = fechaInicio+""+fechaFin+""+tienda+" "+tipo_cambio+".txt"
  54. path_spf = 'C:/RPA_Pricing/7.Bot Argentina/Cargas_SRX/srx_'
  55. skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVA OFERTA'])), #Genero un dataframe para escribirlo en un txt
  56. columns =['SKU', 'NUEVA OFERTA'])
  57. skuPrecioDF.to_csv(path_spf+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  58.  
  59. elif tipo_cambio == 'CAMBIO NORMAL' or tipo_cambio == 'CAMBIO NORMAL - EXTERMINAR':
  60.  
  61. if dia_carga == formato_dia:
  62. nombre = fechaInicio+""+fechaFin+""+tienda+" "+tipo_cambio+".txt"
  63. path_spf = 'C:/RPA_Pricing/7.Bot Argentina/Carga_SRX_normal/srx_'
  64. skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVO NORMAL'])), #Genero un dataframe para escribirlo en un txt
  65. columns =['SKU', 'NUEVO NORMAL'])
  66. skuPrecioDF.to_csv(path_spf+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  67.  
  68. elif tipo_cambio == 'CAMBIO NORMAL - OFERTA':
  69. if dia_carga == formato_dia:
  70. nombre = fechaInicio+""+fechaFin+""+tienda+" "+tipo_cambio+".txt"
  71. path_spf = 'C:/RPA_Pricing/7.Bot Argentina/Cargas_SRX/srx_'
  72. path_spf_normal = 'C:/RPA_Pricing/7.Bot Argentina/Carga_SRX_normal/srx_'
  73. skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVO NORMAL'])), #Genero un dataframe para escribirlo en un txt
  74. columns =['SKU', 'NUEVO NORMAL'])
  75. skuPrecioDF_OF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVA OFERTA'])), #Genero un dataframe para escribirlo en un txt
  76. columns =['SKU', 'NUEVA OFERTA'])
  77.  
  78. skuPrecioDF_OF.to_csv(path_spf+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  79. skuPrecioDF.to_csv(path_spf_normal+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  80.  
  81. elif tipo_cambio == 'TURBO':
  82.  
  83. if dia_carga == formato_dia:
  84. nombre = fechaInicio+""+fechaFin+""+tienda+" "+tipo_cambio+".txt"
  85. path_spf = 'C:/RPA_Pricing/7.Bot Argentina/Cargas_Turbo/srx_'
  86. skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVA OFERTA'])), #Genero un dataframe para escribirlo en un txt
  87. columns =['SKU', 'NUEVA OFERTA'])
  88. skuPrecioDF.to_csv(path_spf+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  89.  
  90.  
  91.  
  92. elif tipo_cambio == 'CAMBIO NORMAL - EXTERMINAR - OFERTA':
  93. if dia_carga == formato_dia:
  94. nombre = fechaInicio+""+fechaFin+""+tienda+" "+tipo_cambio+".txt"
  95. path_spf = 'C:/RPA_Pricing/7.Bot Argentina/Cargas_SRX/srx_'
  96. path_spf_normal = 'C:/RPA_Pricing/7.Bot Argentina/Carga_SRX_normal/srx_'
  97. skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVO NORMAL'])), #Genero un dataframe para escribirlo en un txt
  98. columns =['SKU', 'NUEVO NORMAL'])
  99. skuPrecioDF_OF = pd.DataFrame(list(zip(grupo['SKU'], grupo['NUEVA OFERTA'])), #Genero un dataframe para escribirlo en un txt
  100. columns =['SKU', 'NUEVA OFERTA'])
  101.  
  102. skuPrecioDF_OF.to_csv(path_spf+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  103. skuPrecioDF.to_csv(path_spf_normal+nombre, header=False, index=False, sep='\t', encoding='utf-8')
  104.  
  105.  
  106. #return True
  107. #except:
  108. #return False
  109. def lista_exterminar(data_srx):
  110. locale.setlocale(locale.LC_ALL, 'es-ES')
  111. formato_dia= datetime.datetime.today().strftime('%A') # Dia de la semana de carga
  112. formato_dia = (formato_dia[0:3])
  113. formato_dia = 'jue'
  114. print(formato_dia)
  115. gruposDF = data_srx.groupby(['Dia de Carga','TIPO DE CAMBIO', 'DESDE'])
  116.  
  117. #print(fechaFinOferta)
  118.  
  119.  
  120. for k, grupo in gruposDF:
  121.  
  122. dia_carga =str(grupo['Dia de Carga'].unique()[0])
  123. tipo_cambio= str(grupo['TIPO DE CAMBIO'].unique()[0])
  124. fechaInicio = str(grupo['DESDE'].unique()[0]).replace("00:00:00","")
  125.  
  126. if formato_dia == dia_carga:
  127. if tipo_cambio == 'EXTERMINAR - OFERTA' or tipo_cambio == 'CAMBIO NORMAL - EXTERMINAR' or tipo_cambio=='CAMBIO NORMAL - EXTERMINAR - OFERTA' or tipo_cambio == 'EXTERMINAR':
  128.  
  129. path_exter= 'C:/RPA_Pricing/7.Bot Argentina/Exterminar/'
  130. nombre = fechaInicio+"_"+tipo_cambio+'.xlsx'
  131. skuPrecioDF = pd.DataFrame(list(zip(grupo['SKU'])), #Genero un dataframe para escribirlo en un txt
  132. columns =['SKU'])
  133. skuPrecioDF.to_excel(path_exter+nombre, header=False, index=False, )
  134.  
  135.  
  136.  
  137.  
  138.  
  139. def main():
  140. #DFtiendas = pd.read_excel (r'C:\RPA_Pricing\7.Bot Argentina\executePythonArchivosArgentina\Cambio de precios.xlsx".xlsx') # leo el archivo
  141.  
  142. all_files = glob.glob('C:/RPA_Pricing/7.Bot Argentina/executePythonArchivosArgentina/\\Cambio de precios*.xlsx')
  143. for filename in all_files:
  144. data_srx = pd.read_excel (filename,sheet_name='Precios', index_col=None, header=3,
  145. usecols=["ALL", "DESDE", "HASTA",'SKU', 'NUEVA OFERTA','Dia de Carga','TIPO DE CAMBIO','NUEVO NORMAL'],
  146. converters={"ALL":str, "DESDE":str, "HASTA":str,'SKU':str, 'NUEVA OFERTA':str,'Dia de Carga':str,'TIPO DE CAMBIO':str,'NUEVO NORMAL':str})
  147. data_srx.sort_values(by=["DESDE", "HASTA"])
  148.  
  149. #respuesta = escribirArchivos(DFtiendas)
  150. repuesta2 = crearArchivos_srx(data_srx)
  151. respuesta_ext=lista_exterminar(data_srx)
  152. #if(respuesta):
  153. #print("archivos creados correctamente")
  154. #else:
  155. #print("problema al crear los archivos")
  156. if(repuesta2):
  157. print("archivos SRX creados correctamente ")
  158. else:
  159. print("problema al crear los archivos SRX")
  160.  
  161. if __name__ == '__main__':
  162. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement