Làm cách nào để chuyển đổi tệp thành từ điển trong python?

YAML là ngôn ngữ tuần tự hóa dữ liệu dễ tiêu hóa thường được sử dụng để tạo tệp cấu hình với bất kỳ ngôn ngữ lập trình nào. Nó được thiết kế cho sự tương tác của con người. YAML là một superset nghiêm ngặt của JSON, cũng là ngôn ngữ tuần tự hóa dữ liệu. Vì nó là một superset nghiêm ngặt, nó có thể làm mọi thứ mà JSON có thể và hơn thế nữa

Ưu điểm của việc sử dụng các tệp YAML là chúng có thể di động trên các ngôn ngữ lập trình, mở rộng và hỗ trợ các ký tự Unicode. Nó dễ đọc hơn so với các tệp đánh dấu khác như XML hoặc thậm chí HTML cho vấn đề đó. Nó hỗ trợ nhiều loại dữ liệu, bao gồm bản đồ, danh sách và vô hướng

Quảng cáo

Nhiều lần trong ứng dụng của chúng tôi, chúng tôi sẽ cần ghi tệp YAML vào từ điển python hoặc chuyển đổi tệp YAML thành từ điển trong Python. Chúng ta có thể hoàn thành nhiệm vụ này bằng thư viện pyyaml ​​trong Python

 

Cài đặt thư viện PyYAML

PyYAML là trình phân tích cú pháp và trình phát YAML cho Python. Chúng tôi sẽ sử dụng thư viện này để phân tích tệp YAML. Bạn có thể cài đặt bằng lệnh sau trên hệ thống windows/linux

CŨNG ĐỌC. Số Python. số nguyên. Trôi nổi. Số phức

cho hệ thống linux

 $ sudo pip install pyyaml

Đối với hệ thống cửa sổ

pip install pyyaml

Điều này sẽ tải xuống và cài đặt thư viện python để hoạt động trên các tệp YAML

 

Tệp YAML mẫu

Đây là một tệp mẫu được lưu dưới dạng exampleyaml. yaml cho cài đặt mạng

Quảng cáo

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]

Các hàm python khác nhau được sử dụng để chuyển đổi tệp YAML thành từ điển

Ở đây, chúng tôi sẽ mở và đọc tệp YAML và tải nó vào từ điển bằng các chức năng của thư viện PyYAML. Chúng tôi sẽ sử dụng các hàm sau để mở và tải tệp YAML

  • mở - Chức năng này sẽ mở tệp ở chế độ đọc và lưu trữ dưới dạng luồng
  • khoai mỡ. safe_load - Hàm này chuyển đổi tài liệu YAML thành đối tượng Python. Nó sẽ chấp nhận một chuỗi byte, một chuỗi Unicode, một đối tượng tệp nhị phân mở hoặc một đối tượng tệp văn bản mở làm tham số
  • khoai mỡ. load_all - Ngoài ra, chúng ta cũng có thể sử dụng hàm load all để tải nhiều tệp yaml cùng nhau

Ngoài ra, có bốn bộ tải có sẵn cho chức năng

pip install pyyaml
7 như hình bên dưới

  • BaseLoader - Tải tất cả các đại lượng YAML cơ bản dưới dạng Chuỗi
  • SafeLoader - Tải tập hợp con của YAML một cách an toàn. Nó chủ yếu được sử dụng nếu đầu vào từ một nguồn không đáng tin cậy
  • FullLoader - Tải YAML đầy đủ nhưng tránh thực thi mã tùy ý. Nó sẽ gây rủi ro tiềm ẩn khi được sử dụng cho đầu vào không đáng tin cậy
  • UnsafeLoader - Trình tải gốc cho đầu vào không đáng tin cậy và thường được sử dụng để tương thích ngược

CŨNG ĐỌC. Giải pháp Hackerrank. Thay thế Regex trong Python

 

Ví dụ để chuyển đổi tệp YAML thành từ điển

ví dụ 1. Sử dụng hàm safe_load

Trong ví dụ này, chúng tôi sẽ mở tệp và lưu tệp trong biến luồng. Sau đó, chúng tôi sẽ sử dụng luồng để

pip install pyyaml
8 tệp yaml vào đối tượng python.
Đầu tiên, chúng tôi sẽ nhập
pip install pyyaml
9 dưới dạng thư viện
instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
0. Sau đó, chúng tôi mở tệp
instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
1 bằng hàm
instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
2 và sử dụng hàm
instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
3. Chúng ta cũng có thể sử dụng hàm
instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
4 để tải tệp YAML. Hàm
pip install pyyaml
8 sẽ ngăn python thực thi bất kỳ mã tùy ý nào trong tệp YAML.

Sau khi tệp được tải, chúng tôi có thể hiển thị hoặc xử lý các giá trị của nó theo yêu cầu của chúng tôi. Tệp YAML được tải hoạt động giống như một đối tượng python và chúng ta có thể tham chiếu các phần tử của nó bằng các phím

pip install pyyaml
2

đầu ra

pip install pyyaml
3

 

ví dụ 2. Sử dụng BaseLoader

Tệp dữ liệu có tên là

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
6

Quảng cáo

pip install pyyaml
5

Trong ví dụ này, chúng tôi sẽ mở tệp và lưu nó trong biến luồng. Sau đó, chúng tôi sẽ sử dụng

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
7 để tải tệp yaml vào đối tượng python

pip install pyyaml
7

đầu ra

pip install pyyaml
8

 

CŨNG ĐỌC. Từ điển Python [15 ví dụ đơn giản với cú pháp]

ví dụ 3. Sử dụng SafeLoader

Tệp dữ liệu có tên là

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
6

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
0

Trong ví dụ này, chúng tôi sẽ mở tệp và lưu nó trong biến luồng. Sau đó, chúng tôi sẽ sử dụng

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
9 để tải tệp yaml vào đối tượng python

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
2

đầu ra

pip install pyyaml
0

 

Ví dụ 4. Sử dụng FullLoader

Tệp dữ liệu có tên là

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
6

Quảng cáo

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
0

Trong ví dụ này, chúng tôi sẽ mở tệp và lưu nó trong biến luồng. Sau đó, chúng ta sẽ sử dụng FullLoader để tải tệp yaml vào đối tượng python

pip install pyyaml
2

đầu ra

pip install pyyaml
0

 

CŨNG ĐỌC. Ví dụ về câu lệnh chuyển đổi trường hợp Python [Người mới bắt đầu]

Ví dụ 5. Sử dụng UnsafeLoader

Tệp dữ liệu có tên là

instance:
     Id: id2341
     environment: us-east
     serverId: s1342
     awsHostname: 192.168.0.10
     serverName: golinuxcloud.com
     ipAddr: 192.168.0.1
     roles: [webserver,php]
6

pip install pyyaml
5

Trong ví dụ này, chúng tôi sẽ mở tệp và lưu nó trong biến luồng. Sau đó, chúng tôi sẽ sử dụng

pip install pyyaml
22 để tải tệp yaml vào đối tượng python

pip install pyyaml
5

đầu ra

pip install pyyaml
8

 

Tóm lược

Kiến thức chuyển đổi file yaml sang từ điển rất hữu ích khi làm việc trên các ứng dụng thời gian thực. Trong nhiều trường hợp, chúng tôi sẽ cần đọc và chuyển đổi tệp yaml thành từ điển để sử dụng các giá trị chính được lưu trữ trong từ điển để sử dụng tiếp. Trong hướng dẫn này, chúng tôi đã đề cập đến các chức năng và ví dụ để chuyển đổi tệp yaml thành từ điển. Chúng tôi đã học chi tiết về điều này với một ví dụ. Nói chung, hướng dẫn này bao gồm mọi thứ bạn cần biết để có cái nhìn rõ ràng về cách chuyển đổi tệp yaml thành từ điển trong Python

Làm cách nào để đưa tệp CSV vào từ điển Python?

Cách tốt nhất để chuyển đổi tệp CSV thành từ điển Python là tạo đối tượng tệp CSV f bằng cách sử dụng open["my_file. csv"] và chuyển nó vào csv. Phương thức DictReader[f] . Giá trị trả về là một từ điển có thể lặp lại, một từ điển trên mỗi hàng trong tệp CSV, ánh xạ tiêu đề cột từ hàng đầu tiên sang giá trị hàng cụ thể.

Làm cách nào để chuyển đổi tệp văn bản thành từ điển trong Python?

Chuyển đổi tệp văn bản thành từ điển Python .
nhập tên tệp json = 'lệnh. txt' lệnh = {} với mở [tên tệp] là fh. cho dòng trong fh. lệnh, mô tả = dòng. dải[]. .
>>> dòng. dải[].
>>> dòng. split[' ', 1] ['ABBREV', ' Bộ xử lý viết tắt\n'] >>> dòng

Làm cách nào để chuyển đổi dữ liệu thành từ điển Python?

Vì từ điển python không có thứ tự nên đầu ra có thể theo bất kỳ thứ tự nào. Để chuyển đổi danh sách thành từ điển, chúng ta có thể sử dụng khả năng hiểu danh sách và tạo khóa. cặp giá trị của các phần tử liên tiếp. Cuối cùng, hãy nhập danh sách để nhập chính tả .

Làm cách nào để đọc tệp dưới dạng từ điển trong Python?

Từ điển trong Python là tập hợp các cặp khóa-giá trị, trong đó khóa luôn là duy nhất và chúng ta thường cần lưu trữ từ điển và đọc lại từ điển đó. .
Sử dụng json. phương thức tải []. Chuyển đổi chuỗi từ điển hợp lệ thành dạng json
sử dụng ast. .
Sử dụng dưa chua

Chủ Đề