Ler arquivo e salvar

Segue um desafiozinho.

Criar um código (vba, python, etc), que leia a lista de números em Lista.xlsx, acrescente 1 a cada valor da lista, e salve um segundo arquivo, Lista2.xlsx com os novos valores.

Lista.xlsx

Segue uma solução possível.

wbAtual = ThisWorkbook.Name

ReDim vetor(1 To 59) ‘Vetor para conter a lista

‘Comando workbooks.open para abrir o arquivo

‘Fornecer o endereço (ou colocar na mesma pasta)

Set wkb = Workbooks.Open(“C:\Analytics\Lista.xlsx”)

‘Abre a planilha 1 do workbook Lista.xlsx

wkb.Worksheets(“Planilha1”).Activate

For i = 1 To 59

    vetor(i) = Range(“a” & i + 1) ‘Para ler cada linha

Next i

‘Fecha o workbook

wkb.Close SaveChanges:=True

‘===================

‘Volta ao workbook original

Workbooks(wbAtual).Activate

‘Adiciona um e cola na planilha

For i = 1 To 59

    Range(“a” & i + 1) = vetor(i) + 1

Next i

‘salva com o nome Lista2

ThisWorkbook.SaveAs “Lista2”

Se for executado mais de uma vez, vai aparecer um pop up, perguntando se quer sobrescrever o arquivo existente. Clique em Sim, e está concluído.

2) Código semelhante no python. Note que são apenas 4 linhas para fazer a mesma coisa.

import pandas as pd

#Le o arquivo utilizando o módulo pandas

df = pd.read_excel(io=’Lista.xlsx’, sheet_name=’Planilha1′, usecols = “A”)

#A manipulação de dataframes tem a sua própria lógica, mas o código a seguir funciona

df[‘Lista’] = df[‘Lista’].apply(lambda x: x+1)

df.to_excel(“Lista2.xlsx”, sheet_name=’Planilha1’)

2) Código semelhante no python. Note que são apenas 4 linhas para fazer a mesma coisa.

import pandas as pd

#Le o arquivo utilizando o módulo pandas

df = pd.read_excel(io=’Lista.xlsx’, sheet_name=’Planilha1′, usecols = “A”)

#A manipulação de dataframes tem a sua própria lógica, mas o código a seguir funciona

df.to_excel(“Lista2.xlsx”, sheet_name=’Planilha1’)

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s