Texto/CSV
Resumo
Item | Description |
---|---|
Estado de Lançamento | Disponibilidade Geral |
Produtos | Excel Power BI (modelos semânticos) Power BI (Fluxos de Dados) Malha (Dataflow Gen2) Power Apps (Fluxos de Dados) Dynamics 365 Customer Insights Analysis Services |
Documentação de referência da função | Ficheiro.Conteúdos Linhas.FromBinary Csv.Documento |
Nota
Alguns recursos podem estar presentes em um produto, mas não em outros devido a agendas de implantação e recursos específicos do host.
Capacidades suportadas
- Importar
Ligar a um ficheiro de texto/CSV local a partir do Power Query Desktop
Para carregar um texto local ou um arquivo CSV:
Selecione a opção Texto/CSV em Obter dados. Esta ação inicia um navegador de arquivos local onde você pode selecionar seu arquivo de texto.
Selecione Abrir para abrir o ficheiro.
A partir do Navegador, pode transformar os dados no Editor do Power Query selecionando Transformar Dados ou carregar os dados selecionando Carregar.
Ligar a um ficheiro de texto/CSV a partir do Power Query Online
Para carregar um texto local ou um arquivo CSV:
Na página Fontes de dados, selecione Texto/CSV.
Em Configurações de conexão, insira um caminho de arquivo para o texto local ou arquivo CSV desejado.
Selecione um gateway de dados local em Gateway de dados.
Introduza um nome de utilizador e uma palavra-passe.
Selecione Seguinte.
No Navegador, selecione Transformar Dados para começar a transformar os dados no Editor do Power Query.
Carregar a partir da Web
Para carregar um arquivo de texto ou CSV da Web, selecione o conector da Web, insira o endereço da Web do arquivo e siga todos os prompts de credenciais.
Delimitadores de texto/CSV
O Power Query tratará os CSVs como ficheiros estruturados com uma vírgula como delimitador — um caso especial de um ficheiro de texto. Se escolher um ficheiro de texto, o Power Query tentará determinar automaticamente se tem valores separados pelo delimitador e qual é esse delimitador. Se ele puder inferir um delimitador, ele 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 um exemplo de texto não estruturado, você pode considerar um arquivo do bloco de notas com o seguinte conteúdo:
Hello world.
This is sample data.
Ao carregá-lo, você verá 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 suspensa Origem do arquivo. Esta lista suspensa permite selecionar qual conjunto de caracteres foi usado para gerar o arquivo. Atualmente, o conjunto de caracteres não é inferido, e UTF-8 só será inferido se começar com uma lista técnica UTF-8.
CSV
Você pode encontrar um arquivo CSV de exemplo aqui.
Além da origem do arquivo, o CSV também suporta a especificação do delimitador e como a deteçã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 string) e uma largura fixa (dividindo o texto por algum número padrão de caracteres).
A lista suspensa final permite que você selecione como deseja lidar com a deteçã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 deteção automática de tipo de dados e, em vez disso, deixar todas as colunas padrão para 'Texto'. Aviso: se você fizer isso em todo o conjunto de dados, isso pode fazer com que a carga inicial dos dados no editor seja mais lenta.
Como a inferência pode estar incorreta, vale a pena verificar as configurações antes de carregar.
Texto Estruturado
Quando o Power Query conseguir detetar a estrutura do seu ficheiro de texto, tratará o ficheiro de texto como um ficheiro de valor separado do delimitador e dar-lhe-á as mesmas opções disponíveis ao abrir um CSV, que é essencialmente apenas um ficheiro 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 tabulação 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.
Editando o código-fonte
Ao editar a etapa de origem, você verá uma caixa de diálogo ligeiramente diferente da que estava carregando inicialmente. Dependendo do que você está tratando o arquivo no momento (ou seja, texto ou csv), você verá uma tela com uma variedade de menus suspensos.
A lista suspensa Quebras de linha permitirá que você selecione se deseja aplicar quebras de linha que estão entre aspas ou não.
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 as quebras de linha estiverem definidas como Ignorar quebras de linha entre aspas, elas serão carregadas como se não houvesse quebra de linha (com um espaço extra).
Se as quebras de linha estiverem definidas como Aplicar todas as quebras de linha, ela carregará uma linha extra, com o conteúdo após as quebras de linha sendo 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 o que deseja carregar o arquivo como, 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), você ainda deve ter o arquivo Abrir como definido como CSV. Essa configuração também determina quais menus suspensos estão disponíveis no restante da caixa de diálogo.
Texto/CSV por exemplo
Texto/CSV por exemplo no Power Query é uma funcionalidade geralmente disponível no Power BI Desktop e no Power Query Online. Ao usar o conector Texto/CSV, você verá uma opção para Extrair Tabela Usando Exemplos no canto inferior esquerdo do navegador.
Ao selecionar esse botão, você será levado para a página Extrair tabela usando exemplos . Nesta página, você especifica valores de saída de exemplo para os dados que deseja extrair do arquivo Texto/CSV. Depois de inserir a primeira célula da coluna, outras células na coluna sã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. Verifique os dados nas primeiras células para garantir que os dados foram extraídos com êxito.
Nota
Recomendamos que insira os exemplos por ordem de colunas. Depois que a coluna for preenchida com êxito, crie uma nova coluna e comece a inserir exemplos na nova coluna.
Depois de concluir a construção dessa tabela, você pode optar por carregar ou transformar os dados. Observe como as consultas resultantes contêm um detalhamento detalhado de todas as etapas que foram inferidas para a extração de dados. Essas etapas são apenas etapas de consulta regulares que você pode personalizar conforme necessário.
Resolução de Problemas
Carregando arquivos da Web
Se você estiver solicitando arquivos de texto/csv da Web e também promovendo cabeçalhos, e estiver recuperando arquivos suficientes que precisam se preocupar com uma possível limitação, considere encerrar sua Web.Contents
chamada com Binary.Buffer()
. Nesse caso, colocar o arquivo em buffer antes de promover cabeçalhos fará com que o arquivo seja solicitado apenas uma vez.
Trabalhando com arquivos CSV grandes
Se estiver a lidar com ficheiros CSV grandes no editor do Power Query Online, poderá receber um Erro Interno. Sugerimos que você trabalhe primeiro com um arquivo CSV de tamanho menor, aplique as etapas no editor e, quando terminar, altere o caminho para o arquivo CSV maior. Este método permite que você trabalhe de forma mais eficiente e reduz suas chances de encontrar um tempo limite no editor online. Não esperamos que você encontre esse erro durante o tempo de atualização, pois permitimos uma duração de tempo limite mais longa.
Texto não estruturado sendo interpretado como estruturado
Em casos raros, um documento com números de vírgula semelhantes em parágrafos pode ser interpretado como um CSV. Se este problema acontecer, edite o passo Origem no editor do Power Query e selecione Texto em vez de CSV no menu pendente Abrir Ficheiro Como .
Colunas no Power BI Desktop
Quando importa um ficheiro CSV, o Power BI Desktop gera uma columns=x (em que x é o número de colunas no ficheiro CSV durante a importação inicial) como um passo no Power Query Editor. Se, posteriormente, você adicionar mais colunas e a fonte de dados for definida para atualizar, todas as colunas além da contagem x inicial de colunas não serão atualizadas.
Erro: Conexão fechada pelo host
Ao carregar arquivos de texto/CSV de uma fonte 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 empregando medidas de proteção e fechando uma conexão que pode ser pausada temporariamente, por exemplo, ao aguardar outra conexão de fonte de dados para uma operação de junção ou acréscimo. Para contornar esses erros, tente adicionar uma chamada Binary.Buffer (recomendado) ou Table.Buffer , que baixará o arquivo, carregá-lo na memória e fechará imediatamente a conexão. Isso deve impedir qualquer pausa durante o download e impedir que o host feche a conexão à força antes que o conteúdo seja recuperado.
O exemplo a seguir ilustra essa solução alternativa. Esse buffering precisa ser feito antes que a tabela resultante seja passada 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")))