Como ler o arquivo YAML em Python

Como ler o arquivo YAML em Python

A forma completa de YAML é mais uma linguagem de marcação. Este formato de arquivo é muito popular agora para armazenar dados serializados que são legíveis por humanos. É usado principalmente para arquivos de configuração, mas pode ser usado para outros fins também. Diferentes tipos de dados escalares, como número, string, etc., e dados compostos como list, o dicionário pode ser o conteúdo deste arquivo. A extensão deste Fie é '.yaml '. Existem vários módulos em Python para ler o arquivo YAML. O uso do Pyyaml Módulo para ler o arquivo YAML em Python mostrou neste tutorial.

Pré-requisitos:

Instale o módulo Pyyaml

Pyyaml é o melhor módulo de python para ler o Yaml arquivo. Pyyaml O módulo não é instalado com Python por padrão. Então, você precisa instalar este pacote antes de verificar os exemplos deste tutorial. Execute o seguinte comando para instalar Pyyaml.

$ pip install pyyaml

Crie um arquivo YAML

Crie um arquivo YAML nomeado cliente.Yaml com o seguinte conteúdo para usar este arquivo na próxima parte deste tutorial.

cliente.Yaml

- Nome: Kamal Hossain
E -mail: [email protected]
Mobile: 01843456790
- Nome: Sakil Ahamed
Email: [email protected]
Mobile: 015662343423
- Nome: Mizanur Rahman
Email: [email protected]
Mobile: 01936784534

Exemplo 1: Leia o conteúdo da YAML após converter um objeto Python

Depois de instalar o Pacote pyyaml, O módulo YAML pode ser importado para o script python para ler Yaml Conteúdo convertendo um objeto Python. O função dump () do Yaml O módulo é usado para criar o Yaml Conteúdo, serializando o conteúdo do objeto Python. Crie um arquivo python com o seguinte script para gerar e imprimir o fluxo YAML convertendo o conteúdo do objeto Python. O função dump () classifica o conteúdo do dicionário com base nas chaves por padrão.

# Importar módulo YAML
importar yaml
# Declare um objeto Python com dados
livros = ['nome': 'pense em python: uma introdução ao design de software', 'autor': 'allen b. Downey ',' Price ':' 23 ',
'Nome': 'Python fluente: programação clara, concisa e eficaz',
'Autor': 'Luciano Ramalho', 'Price': '50',
'nome': 'pense em python: uma introdução ao design de software',
'Autor': 'Allen B. Downey ',' Price ':' 33 '
]
# Converta e imprima os dados JSON no fluxo YAML
Imprimir (Yaml.despejo (livros))

Saída:

A saída a seguir aparecerá após a execução do script acima. Os itens de cada dicionário da lista de Python se converteram em cada membro do conteúdo da YAML. O conteúdo da saída foi classificado com base nas chaves do dicionário. Para isso, o valor da chave do autor foi impresso primeiro e o valor da chave de preço foi impresso por último.

Exemplo 2: Leia o conteúdo da YAML de um arquivo YAML

O cliente.arquivo yaml criado na parte anterior deste tutorial, foi usado neste exemplo. Crie um arquivo python com o seguinte script para ler o conteúdo classificado do cliente.arquivo yaml Baseado nas chaves. O Função () função usou no script para ler o conteúdo completo do cliente.arquivo yaml. Esta função retornará o conteúdo do arquivo como uma lista python de dicionários. Em seguida, o função dump () é usado para converter a lista em um fluxo YAML que foi impresso posteriormente.

# Importar módulo YAML
importar yaml
# Carregar dados YAML do arquivo
com open ('cliente.yaml ') como fh:
read_data = yaml.carga (fh, carregador = yaml.Carregador completo)
# Imprima dados da YAML antes de classificar
Print (read_data)
# Classifique os dados da YAML com base nas chaves
STORD_DATA = YAML.despejo (read_data)
# Imprima dados da YAML após a classificação
print (stored_data)

Saída:

A saída a seguir aparecerá após a execução do script acima. Depois de converter o conteúdo do cliente.arquivo yaml Em uma lista de dicionários Python, cada dicionário da lista de Python se converteu em cada membro do conteúdo da YAML, como o exemplo anterior. O valor do parâmetro sort_key do função dump () está configurado para Verdadeiro por padrão. Então, a saída mostra o classificado Yaml Conteúdo com base nas chaves.

Exemplo 3: Leia as chaves e valores de um arquivo YAML

Crie um arquivo python com o seguinte script para ler e imprimir a chave e o valor separadamente do cliente.arquivo yaml. Depois de carregar o conteúdo do arquivo no Read_data variável, o item() A função usou para ler cada tecla e o valor correspondente do conteúdo. Os aninhados 'para'Loop usou para iterar o conteúdo completo do arquivo e imprimir os pares de valor-chave.

# Importar módulo YAML
importar yaml
# Carregar o arquivo YAML
com open ('cliente.yaml ') como fh:
# Carregar dados YAML do arquivo
read_data = yaml.carga (fh, carregador = yaml.Carregador completo)
# Itera o loop para ler e imprimir dados da YAML
para i no intervalo (0, len (read_data)):
Para chave, valor em read_data [i].Unid():
Imprimir (chave, ":", valor)
imprimir(")

Saída:

A saída a seguir aparecerá após a execução do script acima. O conteúdo do arquivo não foi classificado porque a função Dump () não foi usada no script.

Exemplo-4: Leia o conteúdo da YAML em uma lista de dicionários

O Função de segurança () é usado para converter o conteúdo do arquivo YAML na lista Python dos dicionários. Esta função pode ser usada para carregar dados de fontes não confiáveis ​​também. Crie um arquivo python com o seguinte script para carregar o conteúdo de um arquivo YAML usando o Função de segurança () e imprima o conteúdo carregado.

# Importar módulo YAML
importar yaml
# Carregar o arquivo YAML
com open ('cliente.yaml ') como fh:
# Converta os dados da YAML em um dicionário
dictionary_data = yaml.Safe_load (FH)
# Imprima os dados do dicionário
Imprimir (Dictionary_data)

Saída:

A saída a seguir aparecerá após a execução do script acima. Uma lista de dicionários foi impressa na saída.

Conclusão:

As maneiras de ler Yaml O conteúdo de um objeto Python e um arquivo foi mostrado neste tutorial usando vários exemplos. O conceito de analisar o Yaml arquivo usando o Pacote pyyaml será liberado para os usuários do Python depois de praticar os exemplos deste tutorial.