Foros Python

Versión completa: Problema con Phyton Pandas
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola, soy un novato en esto y tengo un problema:
Estoy haciendo un programa que tiene que ver con costos en una empresa.

Lo que hago es abrir el archivo "CIERRE.xlsx", inserto dos columnas y lleno esas columnas con dos formulas. Ademas busco para cada valor en la columna "Código" el valor de la columna "Stock disponible" que se encuentra en el archivo "STK_ACTUAL.xlsx" donde ambos valores son iguales, y creo una columna nueva en df llamada "STK" la que lleno con estos valores, pero cuando veo el  archivo Excel guardado, me trae los valores correctos pero entre corchetes y no se a que se debe.

Mi código:

import pandas as pd

df = pd.read_excel('C:\COSTOS_relBase\CIERRE.xlsx', sheet_name='Detalle')
df2= pd.read_excel('C:\COSTOS_relBase\STK_ACTUAL.xlsx', sheet_name='Stock actual')
df = df.rename(index=str, columns={"Detalle": "CIERRE DE CAJA"})
df.insert(25, 'IVA', '')
df.insert(26, 'TOTAL', '')
df = df.rename(columns={'Total': 'Total neto'})

col_StkDisp = []

for elemento in df['Código']:
    StkDisp = df2.loc[df2['Código'] == elemento, 'Stock disponible'].values
    col_StkDisp.append(StkDisp)

df['STK'] = col_StkDisp


df['IVA'] = df['Total neto'].apply(lambda x: x*(19/100))
df['TOTAL'] = df['Total neto'] + df['IVA']

writer = pd.ExcelWriter('C:\COSTOS_relBase\CIERRE2.xlsx')
df.to_excel(writer, sheet_name='CIERRE DE CAJA', index=False)
writer.save()
Cambia esto:

Código:
df['STK'] = col_StkDisp

A esto:


Código:
df['STk'] = ''.join(str(s) for s in col_StkDisp)
Hola Costero, gracias por tu respuesta, pero no me funcionó, adjunto imagen.
Ok. En la primera imagen solo se veia un valor en la lista. Parece que es una lista the de listas.

Prueba con esto

Código:
for elemento in df['Código']:
    StkDisp = df2.loc[df2['Código'] == elemento, 'Stock disponible'].values
    col_StkDisp.append(''.join(str(val) for val in StkDisp))
   
df['STk'] = ''.join(str(s) for s in col_StkDisp)

No puedo probarlo porque no tengo tus datos.

Suerte
Hola Costero, nuevamente te agradezco tu tiempo, pero tampoco funcionó, te envío imagen.
También te envío los datos.
Ok. Creo que funciona ahora. Debajo el codigo:


Código:
col_StkDisp = []

for elemento in df['Código']:
    StkDisp = df2.loc[df2['Código'] == elemento, 'Stock disponible'].values
    if len(StkDisp) == 0:
        col_StkDisp.append(0)
    else:
        col_StkDisp.append(StkDisp[0])

df['STK'] = col_StkDisp

Suerte
Super, ahí si funcionó, gracias por tu paciencia, ahora voy a seguir adelante ya que esto era solo el principio del programa.