Texto/CSV
Resumo
Item | Descrição |
---|---|
Estado da liberação | Disponibilidade geral |
Produtos | Excel Power BI (Modelos semânticos) Power BI (Fluxos de dados) Malha (fluxo de dados Gen2) Power Apps (Fluxos de dados) Dynamics 365 Customer Insights Analysis Services |
Documentação de referência da função | File.Contents Lines.FromBinary Csv.Document |
Observação
Alguns recursos podem estar presentes em um produto, mas não em outros devido a cronogramas de implantação e funcionalidades específicas do host.
Funcionalidades com suporte
- Importação
Conectar-se ao arquivo de texto/CSV local no Power Query Desktop
Para carregar um arquivo de texto ou CSV local:
Selecione a opção Texto/CSV em Obter Dados. Essa ação inicia um navegador de arquivos local em que você pode selecionar o arquivo de texto.
Escolha Abrir para abrir o arquivo.
No Navegador, é possível transformar os dados no Editor do Power Query ao selecionar Transformar Dados ou carregar os dados ao selecionar Carregar.
Conectar-se ao arquivo de texto/CSV local no Power Query Online
Para carregar um arquivo de texto ou CSV local:
Na página Fontes de dados, selecione Texto/CSV.
Em Configurações de conexão, insira um caminho de arquivo para o arquivo de texto ou CSV local desejado.
Selecione um gateway de dados local no gateway de dados.
Digite um nome de usuário e uma senha.
Selecione Avançar.
No Navegador, selecione Transformar Dados para começar a transformar os dados no Editor do Power Query.
Carregar da Web
Para carregar um arquivo de texto ou CSV na Web, selecione o Conector Web, insira o endereço Web do arquivo e siga os prompts de credenciais.
Delimitadores de texto/CSV
O Power Query tratará os CSVs como arquivos estruturados usando uma vírgula como delimitador— um caso especial de um arquivo de texto. Se você escolher um arquivo de texto, o Power Query tentará determinar automaticamente se ele tem valores separados por delimitador e qual é esse delimitador. Se for possível inferir um delimitador, o Power Query o tratará automaticamente como uma fonte de dados estruturada.
Texto não estruturado
Se o arquivo de texto não tiver estrutura, você obterá uma única coluna com uma nova linha por linha codificada no texto de origem. Como exemplo de texto não estruturado, você pode considerar um arquivo de bloco de notas com o seguinte conteúdo:
Hello world.
This is sample data.
Ao carregar o arquivo, será exibida uma tela de navegação que carrega cada uma dessas linhas em sua própria linha.
Há apenas uma coisa que você pode configurar nesta caixa de diálogo, que é a seleção de lista suspensa Origem do Arquivo. Essa lista suspensa permite selecionar qual conjunto de caracteres foi usado para gerar o arquivo. No momento, o conjunto de caracteres não é inferido e o UTF-8 só será inferido se começar com BOM UTF-8.
CSV
É possível encontrar um arquivo CSV de exemplo aqui.
Além da origem do arquivo, o CSV também dá suporte à especificação do delimitador e como a detecção de tipo de dados será tratada.
Os delimitadores disponíveis incluem dois-pontos, vírgula, sinal de igual, ponto e vírgula, espaço, tabulação, um delimitador personalizado (que pode ser qualquer cadeia de caracteres) e uma largura fixa (que divide o texto por algum número padrão de caracteres).
A lista suspensa final permite que você selecione como deseja lidar com a detecção de tipo de dados. Isso pode ser feito com base nas primeiras 200 linhas, em todo o conjunto de dados, ou você pode optar por não fazer a detecção automática do tipo de dados e, em vez disso, deixar todas as colunas padrão como 'Texto'. Aviso: se você fizer isso em todo o conjunto de dados, pode tornar mais lento o carregamento inicial dos dados no editor.
Como a inferência pode estar incorreta, vale a pena verificar duas vezes as configurações, antes do carregamento.
Texto Estruturado
Quando for possível detectar a estrutura para o arquivo de texto, o Power Query tratará o arquivo de texto como arquivo de valor separado do delimitador e fornecerá as mesmas opções disponíveis ao abrir um CSV, que é basicamente apenas um arquivo com uma extensão que indica o tipo de delimitador.
Por exemplo, se você salvar o exemplo a seguir como um arquivo de texto, ele será lido como tendo um delimitador de guia em vez de texto não estruturado.
Column 1 Column 2 Column 3
This is a string. 1 ABC123
This is also a string. 2 DEF456
Isso pode ser usado para qualquer tipo de outro arquivo baseado em delimitador.
Edição da Origem
Ao editar a etapa de origem, será exibida uma caixa de diálogo um pouco diferente da que é fornecida ao carregar inicialmente. Dependendo de como você está tratando o arquivo (ou seja, texto ou CSV), será exibida uma tela com diversos menus suspensos.
A lista suspensa Quebras de linha permitirá que você selecione se deseja aplicar quebras de linha entre aspas.
Por exemplo, se você editar o exemplo "estruturado" fornecido acima, poderá adicionar uma quebra de linha.
Column 1 Column 2 Column 3
This is a string. 1 "ABC
123"
This is also a string. 2 "DEF456"
Se a opção Quebras de linha estiver definidas como Ignorar quebras de linha entre aspas, ela será carregada como se não houvesse quebra de linha (com um espaço adicional).
Se a opção Quebras de linha estiver definida como Aplicar todas as quebras de linha, ela carregará uma linha adicional e o conteúdo após a quebra de linha será o único conteúdo nessa linha (a saída exata pode depender da estrutura do conteúdo do arquivo).
A lista suspensa Abrir arquivo como permitirá que você edite como deseja carregar o arquivo – importante para a solução de problemas. Para arquivos estruturados que não são tecnicamente CSVs (como um arquivo de valor separado por tabulação salvo como um arquivo de texto), a opção Abrir arquivo como ainda deve ser definida como CSV. Essa configuração também determina quais listas suspensas estão disponíveis no restante da caixa de diálogo.
Texto/CSV por Exemplo
Texto/CSV por Exemplo no Power Query é um recurso disponível geralmente no Power BI Desktop e no Power Query Online. Ao usar o conector de Texto/CSV, você verá a opção Extrair tabela usando exemplos no canto inferior esquerdo do navegador.
Ao selecionar esse botão, você acessará a página Extrair Tabela Usando Exemplos. Nessa página, você especifica valores de saída de exemplo para os dados que deseja extrair do arquivo de texto/CSV. Depois de inserir a primeira célula da coluna, as outras células da coluna serão preenchidas. Para que os dados sejam extraídos corretamente, talvez seja necessário inserir mais de uma célula na coluna. Se algumas células na coluna estiverem incorretas, você poderá corrigir a primeira célula incorreta e os dados serão extraídos novamente. Confira os dados nas primeiras células para verificar se os dados foram extraídos com êxito.
Observação
Recomendamos que você insira os exemplos na ordem da coluna. Depois que a coluna tiver sido preenchida com êxito, crie uma nova coluna e comece a inserir exemplos na nova coluna.
Depois de concluir a construção dessa tabela, você poderá selecionar o carregamento ou a transformação dos dados. Observe como as consultas resultantes contêm uma análise detalhada de todas as etapas inferidas para a extração de dados. Essas etapas são apenas etapas de consulta regulares, que você pode personalizar conforme necessário.
Solução de problemas
Carregamento de Arquivos na Web
Se você estiver solicitando arquivos de texto/CSV na Web e também promovendo cabeçalhos, e estiver recuperando arquivos suficientes com os quais precisa se preocupar em relação à possível limitação, encapsule a chamada Web.Contents
com Binary.Buffer()
. Nesse caso, executar o buffer do arquivo antes de promover cabeçalhos fará com que o arquivo seja solicitado apenas uma vez.
Como trabalhar com arquivos CSV grandes
Se você estiver lidando com arquivos CSV grandes no editor do Power Query Online, poderá receber um Erro Interno. Sugerimos que você trabalhe com um arquivo CSV menor primeiro, aplique as etapas no editor e, depois de terminar, altere o caminho para o arquivo CSV maior. Esse método permite que você trabalhe com mais eficiência e reduz as chances de encontrar um tempo limite no editor online. Não é esperado encontrar esse erro durante o tempo de atualização, pois permitimos um tempo limite maior.
Texto não estruturado interpretado como estruturado
Em casos raros, um documento com números de vírgulas semelhantes nos parágrafos pode ser interpretado como CSV. Se esse problema acontecer, edite a etapa Origem no editor de Power Query e selecione Texto, em vez de CSV, na lista suspensa Abrir Arquivo Como.
Colunas no Power BI Desktop
Quando você importa um arquivo CSV, o Power BI Desktop gera columns=x (onde x é o número de colunas no arquivo CSV durante a importação inicial) como uma etapa no editor do Power Query. Posteriormente, se você adicionar mais colunas e a fonte de dados estiver definida para atualização, as colunas adicionadas além da contagem inicial de x colunas não serão atualizadas.
Erro: conexão encerrada pelo host
Ao carregar arquivos de Texto/CSV em uma origem da Web e também promover cabeçalhos, às vezes, você pode encontrar os seguintes erros: "An existing connection was forcibly closed by the remote host"
ou "Received an unexpected EOF or 0 bytes from the transport stream."
. Esses erros podem ser causados pelo host ao empregar medidas de proteção e encerrar uma conexão, que pode ficar pausada temporariamente, por exemplo, ao aguardar outra conexão da fonte de dados para uma operação de junção ou acréscimo. Para contornar esses erros, tente adicionar uma chamada Binary.Buffer (recomendada) ou Table.Buffer, que baixará o arquivo e carregará na memória, além de encerrar a conexão imediatamente. Isso deve evitar as pausas durante o download e impedir que o host force o encerramento da conexão antes que o conteúdo seja recuperado.
O exemplo a seguir mostra essa solução alternativa. Esse buffer precisa ser feito antes que a tabela resultante seja transmitida para Table.PromoteHeaders.
- Original:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
- Com
Binary.Buffer
:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
- Com
Table.Buffer
:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))