பைத்தானில் உள்ள கோப்பில் நாம் பல்வேறு வழிகளில் அகராதியை எழுதலாம்:
- காற்புள்ளியால் பிரிக்கப்பட்ட மதிப்பு கோப்பு (.csv)
- ஜேசன் கோப்பு (.json)
- உரை கோப்பு (.txt)
- ஊறுகாய் கோப்பு (.pkl)
மேலே உள்ள அனைத்து முறைகளையும் நாங்கள் விளக்கப் போகிறோம்.
முறை 1: அகராதியை CSV வடிவத்தில் சேமிக்கவும்
CSV (காற்புள்ளியால் பிரிக்கப்பட்ட மதிப்புகள்) இல் அகராதியைச் சேமிக்க, நாங்கள் CSV தொகுதியைப் பயன்படுத்துகிறோம். பைதான் கட்டளையை காப்பாற்ற கமாவால் பிரிக்கப்பட்ட மதிப்புகள் மிகவும் பொதுவான மற்றும் பிரபலமான முறையாகும். பெரும்பாலான புரோகிராமர்கள் இந்த முறையை ஒரு கோப்பில் டிக்டை சேமிக்க மட்டுமே பயன்படுத்துகின்றனர். CSV என ஒரு கோப்பில் அகராதியைச் சேமிப்பது மிகவும் எளிதானது, ஏனெனில் நாம் தரவை ஒரு சரமாக மாற்ற வேண்டும்.
உதாரணம்_1: dict_to_csv.py
# dict_to_csv.py
இறக்குமதி csv
dict_ மாதிரி= {'பெயர்':'லினக்ஸ்ஹிண்ட்', 'நகரம்':'அந்த', 'கல்வி':'பொறியியல்'}
உடன் திற('data.csv', 'இல்') எனf:
க்கானசாவிஇல்dict_ மாதிரி.விசைகள்():
எஃப்எழுது('% s,% s n'%(சாவி,dict_ மாதிரி[சாவி]))
வரி 2 : நாங்கள் CSV பைதான் தொகுதியை இறக்குமதி செய்கிறோம்.
வரி 4 : நாங்கள் ஒரு மாதிரி டிக்ட் தரவை உருவாக்கினோம். நாங்கள் அதை CSV கோப்பு வடிவத்தில் சேமிக்க முயற்சிப்போம்.
வரி 6: CSV கோப்பை எழுத இங்கே 'உடன்' அறிக்கையைப் பயன்படுத்துகிறோம். ஒரு கோப்பின் வாசிப்பு அல்லது எழுத்தின் போது விதிவிலக்கு கையாளுதலை 'உடன்' அறிக்கை கையாளுகிறது. எழுதும் முறையில் data.csv கோப்பைத் திறந்து, அந்த பொருளை f மாறிக்கு ஒதுக்குகிறோம்.
வரி 7 , நாங்கள் சாவியைப் பிரித்தெடுக்கும் ஃபார் லூப்பை இயக்குகிறோம், அடுத்த வரியில், அது ஒரு CSV கோப்பில் கீ மற்றும் கீ_வல்யூவை எழுதுகிறது. எனவே தரவு இருக்கும் வரை இந்த வளையம் இயங்கும்.
வெளியீடு: data.csv
பெயர்,லினக்ஸ்ஹிண்ட்நகரம்,அந்த
கல்வி,பொறியியல்
எனவே, data.csv இல் எழுதிய பிறகு மேலே உள்ள வெளியீடு கோப்பை காட்டுகிறது.
இப்போது, CSV வடிவத்தில் ஒரு கோப்பில் டிக்டை எவ்வாறு சேமிப்பது என்பதை நாங்கள் புரிந்துகொள்கிறோம். CSV கோப்பில் டிக்ட் பொருள்களின் பட்டியலை எழுத விரும்பும் மற்றொரு உதாரணத்துடன் முயற்சி செய்யலாம்.
எடுத்துக்காட்டு_2: dict_to_csv_2.py
# dict_to_csv_2.pyஇறக்குமதி csv
csvColumns= ['நகரம்', 'நாடு', 'ரேங்க்']
dictDemo= [
{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},
{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7},
]
csvFileName= 'data.csv'
முயற்சி:
உடன் திற(csvFileName, 'இல்') எனf:
எழுத்தாளர்= csv.DictWriter(எஃப்,புலம் பெயர்கள்=csvColumns)
எழுத்தாளர்.எழுத்தாளர்()
க்கானதகவல்கள்இல்dictDemo:
எழுத்தாளர்.எழுத்தாளர்(தகவல்கள்)
தவிர IOError:
அச்சு('தவறு ஏற்பட்டது')
வரி 3 முதல் 12: நாங்கள் பைதான் சிஎஸ்வி தொகுதியை இறக்குமதி செய்து டிக்ட் பொருள்களின் பட்டியலை உருவாக்குகிறோம். நாங்கள் நெடுவரிசை பெயர்களின் பட்டியலையும் உருவாக்கியுள்ளோம்.
வரி 13: CSV கோப்பு பெயரை மாறிக்கு ஒதுக்கினோம்.
வரி 15: நாங்கள் 'உடன்' அறிக்கையைப் பயன்படுத்துகிறோம், மற்றும் அறிக்கையானது __என்டர்__ முறை முறையை f மாறிக்கு ஒதுக்குகிறது.
வரி 16 முதல் 19: திரும்பும் பொருளை f மாறிக்கு ஒதுக்கிய பிறகு, CSV தொகுதியின் DictWriter முறையை அழைத்து இரண்டு அளவுருக்களை (கோப்பு பெயர் (f) மற்றும் நெடுவரிசை பெயர்கள்) அனுப்பினோம். பிறகு நாம் மற்றொரு முறையை எழுது தலைப்பை அழைக்கிறோம் () இது CSV கோப்பின் முதல் வரிசையை எழுதும், இது பொதுவாக புலங்களின் பெயர். பின்னர் நாம் டிக்ட் பொருள்களின் பட்டியலில் ஒரு ஃபார் லூப்பை இயக்கி, எழுத்தாளர் () முறையைப் பயன்படுத்தி CSV கோப்பில் ஒவ்வொன்றாக எழுதுகிறோம்.
முறை 2: DST ஐ ஒரு உரை கோப்பில் JSON வடிவத்தில் சேமிக்கவும் (இணைப்பு முறை)
JSON வடிவத்தில் உள்ள டிக்ட் பொருள்களையும் நாம் ஒரு கோப்பில் சேமிக்கலாம். கீழே உள்ள குறியீடு அதையே விளக்கும். தற்போதுள்ள JSON பட்டியலில் புதிய JSON ஐ எவ்வாறு சேர்க்கலாம் என்பதையும் இந்த குறியீடு விளக்குகிறது.
உதாரணமாக : dict_to_file_asJSON.py
#கோஷ்டி_போட_ஜேசன். பைஇறக்குமதிjson
dictDemo= [
{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},
{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7},
]
கோப்பு பெயர்= 'dict.json'
# டிக்ட் பொருள்களின் பட்டியலை ஒரு கோப்பில் எழுதுதல்
உடன் திற(கோப்பு பெயர்,முறை='இல்') எனf:
json.திணிப்பு(dictDemo,எஃப்)
# ஒரு கோப்பில் ஒரு புதிய கட்டளை பொருளை இணைத்து முழு கோப்பையும் மேலெழுதவும்
உடன் திற(கோப்பு பெயர்,முறை='இல்') எனf:
dictDemo.இணைக்கவும்({'நகரம்':'பீஜிங்', 'நாடு':'சீனா'})
json.திணிப்பு(dictDemo,எஃப்)
வெளியீடு : dict.json
[{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா'}
]
வரி 1 முதல் 13 வரை : நாங்கள் JSON தொகுதியை இறக்குமதி செய்கிறோம். டெமோவுக்கான டிக்ட் பொருள்களின் பட்டியலை உருவாக்குவோம். பின்பு JSON கோப்பின் பெயரை மாறி கோப்பு பெயருக்கு ஒதுக்கினோம்.
வரி 15 முதல் 17 வரை : எழுத்துக்கு JSON கோப்பைத் திறக்க 'உடன்' அறிக்கையைப் பயன்படுத்துகிறோம், பின்னர் json.dump முறையைப் பயன்படுத்தி dict பொருட்களை JSON ஆக மாற்றி கோப்பில் எழுதலாம்.
வரி 20 முதல் 22 வரை: இந்த வரிகள் மிகவும் முக்கியம், ஏனென்றால் என்ன நடக்கும்? ஏற்கனவே எழுதப்பட்ட கோப்புகளில் புதிய JSON பொருள்களைச் சேர்க்க முயற்சித்தால். மேலெழுதப்படுவதால் முந்தைய தரவு இழக்கப்படும். நாம் முந்தைய டிக்ட் பட்டியல் பெயரைப் போலவே (dictDemo) பயன்படுத்தலாம், பின்னர் புதிய பொருளை அதில் சேர்க்கலாம். கடைசியாக, முழு கோப்பையும் JSON ஆக மாற்றி முழு கோப்பையும் மேலெழுதலாம்.
வெளியீட்டில், தற்போதுள்ள JSON பட்டியலில் ஒரு புதிய JSON பொருள் சேர்க்கப்பட்டிருப்பதைக் காணலாம்.
முறை 3: அகராதி பொருள்களை txt வடிவில் ஒரு கோப்பில் சேமிக்கவும்
அகராதியை சாதாரண சரம் வடிவத்தில் கோப்பில் சேமிக்கலாம். எனவே, கீழே உள்ள முறை அகராதி பொருள்களை உரை வடிவத்தில் கோப்பில் சேமிக்க மிக எளிய வழியாகும். ஆனால் கோப்பில் ஒரு புதிய அகராதி பொருளை இணைக்க விரும்பினால் இந்த குறியீடு வேலை செய்யாது, ஏனெனில் அது முன்பு எழுதப்பட்ட தரவை மேலெழுதும். எனவே, அதற்காக, அடுத்த குறியீட்டில் பார்ப்போம்.
உதாரணமாக: dict_to_txt.py
#dict_to_txt.pydictDemo= [
{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},
{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7},
]
கோப்பு பெயர்= 'dict.txt'
# டிக்ட் பொருள்களின் பட்டியலை ஒரு கோப்பில் எழுதுதல்
உடன் திற(கோப்பு பெயர்,முறை='இல்') எனf:
எஃப்எழுது(ப(dictDemo))
வெளியீடு: dict.txt
[{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7}]
வரி 1 முதல் 11 வரை : நாங்கள் அகராதி பொருள்களின் பட்டியலை உருவாக்கி, dict.txt கோப்பின் பெயரை மாறி கோப்பு பெயருக்கு ஒதுக்கியுள்ளோம்.
வரி 14 முதல் 15 வரை : நாங்கள் இங்கே 'உடன்' அறிக்கையைப் பயன்படுத்துகிறோம், இது தானாகவே விதிவிலக்கை கையாளுகிறது. மேலும் கோப்புக்கான சரமாக டிக்ட் பொருள்கள் பட்டியலை எழுதுகிறோம்.
உதாரணமாக: dict_to_txt_2.py
டிக்ட் பொருள்களை .txt வடிவத்தில் ஒரு கோப்பில் சேமிப்பது எப்படி என்று பார்த்தோம். ஆனால் மேலே உள்ள குறியீட்டில், ஒரு புதிய பொருளைச் சேர்ப்பதில் ஒரு சிக்கல் உள்ளது. எனவே, இணைப்பில் உள்ள முறையை 'w' இலிருந்து 'a' ஆக மாற்றுகிறோம், இது குறியீட்டில் கீழே காட்டப்பட்டுள்ளபடி எங்கள் சிக்கலை தீர்க்க முடியும்.
#dict_to_txt_2.py'' ': சிவர்
இந்த குறியீடு கோப்பில் உள்ள டிக்ட் பொருள்களை உடன் சேமிக்கும்
இணைப்பு முறை.
'' '
dictDemo= [
{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},
{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7},
]
கோப்பு பெயர்= 'dict_to_file_appendMode.txt'
# டிக்ட் பொருள்களின் பட்டியலை ஒரு கோப்பில் எழுதுதல்
உடன் திற(கோப்பு பெயர்,முறை='க்கு') எனf:
எஃப்எழுது(ப(dictDemo))
வரி 7 முதல் 15 வரை : நாங்கள் அகராதி பொருள்களின் பட்டியலை உருவாக்கி, கோப்பின் பெயரை dict_to_file_appendMode.txt ஐ ஒரு மாறி கோப்பு பெயருக்கு ஒதுக்கினோம்.
வரி 18 முதல் 19 வரை : பயன்முறையை = 'a' மாற்றுகிறோம், இது எங்கள் சிக்கலை தீர்க்கும். முந்தைய தரவை மேலெழுதாமல் ஒரே கோப்பில் இரண்டு டிக்ட் பொருள்களைச் சேர்த்துள்ளோம் என்பதை கீழே உள்ள வெளியீடு காட்டுகிறது.
வெளியீடு: dict_to_file_appendMode.txt
[{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7}]
[{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},
{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7}]
முறை 4: ஊறுகாய் முறையைப் பயன்படுத்தி டிக்ட் பொருளை ஒரு கோப்பில் சேமிக்கவும்.
பைதான் ஊறுகாய் தொகுதியைப் பயன்படுத்தி ஒரு கோப்பில் டிக்ட் பொருளைச் சேமிக்கலாம். ஊறுகாய் தொகுதி பைத்தானில் வரிசைப்படுத்த பல பொருள்களை ஆதரிக்கிறது மற்றும் டிக்ட் பொருள்களையும் ஆதரிக்கிறது.
# டிக்டட்_ஃபை_பைல்_பிகல். பைஇறக்குமதி ஊறுகாய்
dictDemo= [
{'நகரம்':'நியூயார்க்', 'நாடு':'பயன்கள்', 'ரேங்க்':3},
{'நகரம்':'சிட்னி', 'நாடு':'ஆஸ்திரேலியா', 'ரேங்க்':5},
{'நகரம்':'துபாய்', 'நாடு':'UAE', 'ரேங்க்':10},
{'நகரம்':'மும்பை', 'நாடு':'இந்தியா', 'ரேங்க்':17},
{'நகரம்':'பீஜிங்', 'நாடு':'சீனா', 'ரேங்க்':7},
]
கோப்பு பெயர்= 'picklefile.pkl'
உடன் திற(கோப்பு பெயர், 'விலகி') எனf:
ஊறுகாய்.திணிப்பு(dictDemo,எஃப்)
வரி 3 முதல் 13 வரை : நாங்கள் தொகுதி ஊறுகாயை இறக்குமதி செய்து, டிக்ட் பொருள்களின் பட்டியலை உருவாக்குகிறோம். நாங்கள் ஒரு கோப்பு பெயரையும் உருவாக்குகிறோம்.
வரி 15 முதல் 16 வரை : நாங்கள் இங்கே ‘உடன்’ அறிக்கையைப் பயன்படுத்துகிறோம் மற்றும் கோப்பை இணைக்கும் முறை மற்றும் பைனரி வடிவத்துடன் திறக்கிறோம். பின்னர் நாம் டிக்ட் பொருட்களை கோப்பில் கொட்டுகிறோம்.
முடிவுரை
எனவே, ஒரு அகராதி பொருளை ஒரு கோப்பில் சேமிக்க பல்வேறு முறைகளைப் பார்த்தோம். பயனர் பொருளை எவ்வாறு கோப்பில் சேமிக்க விரும்புகிறார் என்பதைப் பொறுத்தது. டிக்ட் பொருளை கோப்பில் சேமிக்க மிகவும் பொதுவான முறைகள் JSON மற்றும் CSV ஆகும். JSON மற்றும் CSV வடிவங்கள் நிரலாக்கக் கண்ணோட்டத்தில் மிகவும் பிரபலமானவை அல்லது மலைப்பாம்பில் கையாள எளிதானவை. கோப்புகளைச் சேமிப்பதற்கான இணைப்பு முறையையும் நாங்கள் பார்த்தோம்.
இந்த கட்டுரையின் குறியீட்டை இந்த இணைப்பிலிருந்து பதிவிறக்கம் செய்யலாம்:
https://github.com/shekharpandey89/save-dict-object-to-a-file