Eu tenho um script que gera várias métricas de desempenho para um computador em um arquivo .csv. O Excel faz uma verificação básica de estatísticas para desvio padrão, etc.
Sei que você pode importar arquivos .csv para o Excel, mas o que estou tentando fazer é ler esses dados dinamicamente no meu modelo do Excel sem precisar reimportar e re-modelar todas as vezes.
Existe uma maneira de fazer com que uma célula / tabela faça referência a um .csv externo sem precisar reimportar a cada vez?
Respostas:
A maneira mais fácil de fazer isso é importar os dados para o Access ou SQL Express e, em seguida, usar os recursos e funções da Conexão de dados no Excel. Após a configuração inicial, tudo o que você precisa fazer é clicar em Atualizar tudo e ele puxará os dados e recalculará os valores.
Você pode importar diretamente o CSV com o recurso de conexão de dados, mas ele deseja extrair os dados e adicioná-los a uma planilha. Isso funcionará, desde que você o importe para uma planilha secundária e deixe suas fórmulas e cálculos em outra planilha. Quando você clica em Atualizar usando esse método, ele solicita o nome do arquivo e depois reimporta-o usando as mesmas configurações usadas originalmente. Esse método também costuma ser mais lento ou inutilizável, com grandes conjuntos de dados.
fonte
janelas
Você também pode usar o Power Query, que é uma maneira um pouco mais flexível de obter o mesmo que na resposta do @ andy-lynch .
Veja abaixo gif animado para pré-visualização:
Mac OS
O Power Query não está disponível para MacOS; nem a caixa de diálogo de arquivo aberto do Excel "do texto" no MacOS está aceitando uma URL (pelo menos na versão 15.33).
Para criar essa conexão, seria necessário primeiro construir um arquivo de consulta da web (.iqy), conforme explicado neste guia , e depois importá-lo com o comando de menu "Dados -> Obter dados externos -> Executar consulta salva".
fonte
A pergunta é "Como faço para referenciar dados em um arquivo .csv?
Meu caminho seria cortar o arquivo .csv e usar uma macro contendo VBA e ADO que recebe os dados e os coloca diretamente em uma planilha no Excel. Qualquer banco de dados compatível com ODBC pode ser sua fonte.
O Excel 2010 possui Dados >> Obter Dados Externos - de várias fontes de dados. No entanto, prefiro escrever meu próprio código porque tenho controle absoluto e posso formatar os resultados na macro. A atualização ocorre com o clique de um botão e você pode fazer qualquer coisa com ela.
Eu poderia informar alguns detalhes, se você me disser de que banco de dados as métricas estão vindo.
PS Observe a lista de drivers em Dados >> Obter dados externos >> Conexões existentes >> Procure mais >> Nova fonte >> Outro avançado >> Próximo, que o leva à lista Propriedades do link de dados. Você precisa saber qual banco de dados de origem e qual driver usar. Você pode me enviar um e-mail em cliffbeacham no hotmail com mais detalhes.
fonte
Uma maneira mais simples (graças a esta postagem ) é apenas importar os dados como você faria para um arquivo de texto que você já baixou (por exemplo
Data > Import Text File
), mas, em vez de inserir um nome de arquivo, cole a URL do arquivo CSV.fonte
importar o arquivo csv diretamente via
File->From Text
verificar as propriedades da conexão emData->Connections
consulte Importar um arquivo de texto conectando-o
fonte
Com o VBS, a macro ou o script seria semelhante (Excel2010 e posterior):
Essa macro foi realmente registrada pelo gravador de macro do Excel 2013. Você pode criar um botão que aciona essa macro.
fonte