1
resposta

Como converter planilha que possui valores em null para 0 no excel.

Boa tarde pessoal, preciso de uma ajuda. Possuo uma planilha com diversos dados, e sempre faço o inpul dela no google sheets, porém ocorre que em alguns campos, o valor fica null. Eu queria saber existe alguma maneira de converter a planilha inteira para conseguir fazer a leitura e subir sem erro.

PS: São colunas especificas que possuem esses campos, segue o código.

Final = pd.read_excel('//fsextrema02/ProgramacaoControleE-commerce/Inteligência de Estoque/PROJETOS/Inbound/Bases/v2/Fluxo_Final_v2.xlsx', sheet_name='Final')

SCOPES = ['https://www.googleapis.com/auth/spreadsheets']

def main():
    creds = None

    if os.path.exists('token.json'):
        creds = Credentials.from_authorized_user_file('token.json', SCOPES)
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'client_secret.json', SCOPES)
            creds = flow.run_local_server(port=0)
        with open('token.json', 'w') as token:
            token.write(creds.to_json())

    service = build('sheets', 'v4', credentials=creds)

    time.sleep(20)

    service.spreadsheets().values().update(spreadsheetId='1qHeRyDMdLYwX19UY5BGVecJqYmJL9sDaMON90b-4uT8',
                                           range='Final1!A2', valueInputOption="USER_ENTERED",
                                           body=dict(
                                               majorDimension='ROWS',
                                               values=Final.values.tolist()
                                           )
                                           ).execute()
                                           
                                           

ERRO:

, "SF", "NACIONAL", NaN, 41923935000127,
                    ^". Details: "Invalid JSON payload received. Unexpected token.
, "SF", "NACIONAL", NaN, 41923935000127,
                    ^">
1 resposta

Olá, Ramiro, está tudo bem?

Desculpe pela demora em receber uma resposta.

Uma possível soliução é substituir os valores NaN por 0. Você poderá fazer isso utilizando a função fillna().

# Carregar o arquivo Excel
dados = pd.read_excel('//fsextrema02/ProgramacaoControleE-commerce/Inteligência de Estoque/PROJETOS/Inbound/Bases/v2/Fluxo_Final_v2.xlsx', sheet_name='Final')

# Substituir os valores NaN por 0
dados = dados.fillna(0)

Esse comando modificará todos os valores NaN para 0 em todo o DataFrame. Se você quiser efetuar essa substituição apenas em colunas específicas, é possível fazê-lo selecionando essas colunas. Por exemplo, caso deseje substituir os NaN por 0 somente nas colunas 'Coluna1' e 'Coluna2', você pode seguir este exemplo:

dados[['Coluna1', 'Coluna2']] = dados[['Coluna1', 'Coluna2']].fillna(0)

Após efetuar essa substituição, você poderá continuar com o restante do seu código para carregar os dados no Google Sheets.

Para consulta deixo o link da documentação. Ela está em inglês, mas você pode utilizar o tradutor automático do navegador.

Espero ter ajudado.

Caso surja quaisquer dúvidas, não hesite em compartilhar no fórum.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!