Python Dictionary को CSV फ़ाइल में लिखना
CSV (कॉमा सेपरेटेड वैल्यूज़) एक सबसे आम फ़ाइल फॉर्मेट है जिसे कई प्लेटफ़ॉर्म और एप्लिकेशन द्वारा व्यापक रूप से समर्थित किया जाता है।
Python के मानक पुस्तकालय से csv मॉड्यूल का उपयोग करें। सबसे आसान तरीका open() फ़ंक्शन की मदद से 'w' मोड में एक csv फ़ाइल खोलना और की-वैल्यू पेयर को कॉमा सेपरेटेड रूप में लिखना है।
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 फ़ाइल में पहली लाइन को फील्ड नामों के रूप में लिखता है। बाद का for लूप 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")