Computer >> Máy Tính >  >> Lập trình >> Python

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

CSV (Các giá trị được phân tách bằng dấu phẩy) là định dạng tệp phổ biến nhất được nhiều nền tảng và ứng dụng hỗ trợ rộng rãi.

Sử dụng mô-đun csv từ thư viện chuẩn của Python. Cách dễ nhất là mở tệp csv ở chế độ 'w' với sự trợ giúp của hàm open () và viết cặp giá trị khóa ở dạng được phân tách bằng dấu phẩy.


import csv
my_dict = {'1': 'aaa', '2': 'bbb', '3': 'ccc'}
with open('test.csv', 'w') as f:
    for key in my_dict.keys():
        f.write("%s,%s\n"%(key,my_dict[key]))

Mô-đun csv chứa phương thức DictWriter yêu cầu tên tệp csv để ghi và một đối tượng danh sách chứa tên trường. Phương thức writeheader () ghi dòng đầu tiên trong tệp csv dưới dạng tên trường. Vòng lặp for tiếp theo ghi từng hàng ở dạng csv vào tệp csv.

import csv
csv_columns = ['No','Name','Country']
dict_data = [
{'No': 1, 'Name': 'Alex', 'Country': 'India'},
{'No': 2, 'Name': 'Ben', 'Country': 'USA'},
{'No': 3, 'Name': 'Shri Ram', 'Country': 'India'},
{'No': 4, 'Name': 'Smith', 'Country': 'USA'},
{'No': 5, 'Name': 'Yuva Raj', 'Country': 'India'},
]
csv_file = "Names.csv"
try:
    with open(csv_file, 'w') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=csv_columns)
        writer.writeheader()
        for data in dict_data:
            writer.writerow(data)
except IOError:
    print("I/O error")