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

จะบันทึกไฟล์ Python Dictionary เป็นไฟล์ CSV ได้อย่างไร


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

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


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