Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีบันทึก Python Dictionary ลงไฟล์ CSV

CSV (Comma Separated Values) เป็นรูปแบบไฟล์ที่พบบ่อยที่สุด รองรับโดยแพลตฟอร์มและแอปพลิเคชันมากมาย

ใช้โมดูล csv จากไลบรารีมาตรฐานของ Python วิธีง่ายที่สุดคือเปิดไฟล์ CSV ในโหมด 'w' ด้วยฟังก์ชัน open() และเขียน Key-Value Pair ในรูปแบบ Comma Separated

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]))

โมดูล csv มีเมธอด DictWriter ที่ต้องการชื่อไฟล์ CSV ที่จะเขียน และ List Object ที่มีชื่อฟิลด์ เมธอด writeheader() เขียนบรรทัดแรกในไฟล์ CSV เป็นชื่อฟิลด์ ลูป For ต่อไปเขียนแต่ละแถวในรูปแบบ 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")