Kết xuất YAML Python vào tệp

YAML [YAML Ain't Markup Language] là ngôn ngữ tuần tự hóa dữ liệu mà con người có thể đọc được. Nó thường được sử dụng cho các tệp cấu hình, nhưng nó cũng được sử dụng trong lưu trữ dữ liệu [e. g. đầu ra gỡ lỗi] hoặc truyền [e. g. tiêu đề tài liệu]

YAML vốn hỗ trợ ba loại dữ liệu cơ bản. vô hướng [chẳng hạn như chuỗi, số nguyên và số float], danh sách và mảng kết hợp

Phần mở rộng tên tệp được đề xuất chính thức cho các tệp YAML là

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
5. Có hai mô-đun trong Python cho YAML. PyYAML và ruamel. khoai mỡ. Trong hướng dẫn này, chúng tôi sử dụng cái cũ

PyYAML

PyYAML là trình phân tích cú pháp và trình phát YAML cho Python

$ pip install pyyaml

Mô-đun được cài đặt với pip

tệp YAML

Trong hướng dẫn này, chúng tôi sử dụng các tệp YAML sau

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6

Chúng tôi có một vài giá trị vô hướng

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov

Chúng tôi có hai tài liệu trong

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
6. Các tài liệu được phân tách bằng
raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
7

Python YAML đọc

Trong ví dụ đầu tiên, chúng tôi đọc tệp YAML

#!/usr/bin/python

import yaml

with open['items.yaml'] as f:
    
    data = yaml.load[f, Loader=yaml.FullLoader]
    print[data]

Chúng tôi mở tệp

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
8 và tải nội dung bằng phương pháp
raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
9. Dữ liệu được in ra bàn điều khiển

$ python read_yaml.py
{'raincoat': 1, 'coins': 5, 'books': 23, 'spectacles': 2, 'chairs': 12, 'pens': 6}

Mô-đun PyYAML chuyển đổi các giá trị vô hướng thành từ điển Python

Python YAML đọc tài liệu

Nhiều tài liệu YAML được đọc với

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
0

#!/usr/bin/python

import yaml

with open['data.yaml'] as f:
    
    docs = yaml.load_all[f, Loader=yaml.FullLoader]

    for doc in docs:
        
        for k, v in doc.items[]:
            print[k, "->", v]

Ví dụ đọc cả hai tài liệu từ tệp

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
6

$ python read_docs.py
cities -> ['Bratislava', 'Kosice', 'Trnava', 'Moldava', 'Trencin']
companies -> ['Eset', 'Slovnaft', 'Duslo Sala', 'Matador Puchov']

Kết xuất YAML của Python

Phương thức

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
2 tuần tự hóa một đối tượng Python thành luồng YAML

#!/usr/bin/python

import yaml

users = [{'name': 'John Doe', 'occupation': 'gardener'},
         {'name': 'Lucy Black', 'occupation': 'teacher'}]

print[yaml.dump[users]]

Trong ví dụ, chúng tôi có một danh sách các từ điển. Chúng tôi tuần tự hóa danh sách thành định dạng YAML bằng phương thức

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
2

$ python dumping.py
- name: John Doe
  occupation: gardener
- name: Lucy Black
  occupation: teacher

Viết YAML bằng Python

Ví dụ sau ghi dữ liệu Python vào tệp YAML

#!/usr/bin/python

import yaml

users = [{'name': 'John Doe', 'occupation': 'gardener'},
         {'name': 'Lucy Black', 'occupation': 'teacher'}]

with open['users.yaml', 'w'] as f:
    
    data = yaml.dump[users, f]

Ví dụ ghi danh sách từ điển vào tệp

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
4

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
0

Chúng tôi ghi dữ liệu bằng phương pháp

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
2. Tham số đầu tiên là dữ liệu, tham số thứ hai là đối tượng tệp

Các phím sắp xếp Python YAML

Chúng ta có thể sắp xếp các khóa với tham số

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
6
cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
7

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
1

Ví dụ đọc dữ liệu từ tệp

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
8 và sắp xếp dữ liệu theo các khóa trong đầu ra YAML

raincoat: 1
coins: 5
books: 23
spectacles: 2
chairs: 12
pens: 6
2

mã thông báo

Chúng tôi có thể làm việc với API cấp thấp hơn khi phân tích tệp YAML. Phương pháp

cities:
  - Bratislava
  - Kosice
  - Trnava
  - Moldava
  - Trencin
---
companies:
  - Eset
  - Slovnaft
  - Duslo Sala
  - Matador Puchov
9 quét luồng YAML và tạo mã thông báo quét

Làm cách nào để lấy dữ liệu từ tệp YAML trong Python?

Chúng tôi có thể đọc tệp YAML bằng cách sử dụng yaml của mô-đun PyYAML. hàm tải[] . Hàm này phân tích cú pháp và chuyển đổi đối tượng YAML thành từ điển Python [ đối tượng dict]. Quá trình này được gọi là Deserializing YAML thành Python.

Kết xuất YAML trả về cái gì?

dump sẽ ghi tài liệu YAML đã tạo vào tệp. Nếu không, yaml. kết xuất trả về tài liệu được tạo .

Làm cách nào để đọc giá trị khóa từ tệp YAML trong Python?

yaml thành danh sách từ điển python, mỗi từ điển trong danh sách python đã chuyển đổi thành từng thành viên của nội dung YAML như ví dụ trước. Giá trị của tham số sort_key của hàm dump[] được đặt thành True theo mặc định . Vì vậy, đầu ra hiển thị nội dung YAML được sắp xếp dựa trên các phím.

Tệp YAML trong Python là gì?

YAML [YAML Ain't Markup Language] là ngôn ngữ tuần tự hóa dữ liệu mà con người có thể đọc được . Nó thường được sử dụng cho các tệp cấu hình, nhưng nó cũng được sử dụng trong lưu trữ dữ liệu [e. g. đầu ra gỡ lỗi] hoặc truyền [e. g. tiêu đề tài liệu].

Chủ Đề