పైథాన్లోని ఫైల్కు మేము డిక్షనరీని వివిధ రకాలుగా వ్రాయవచ్చు:
- కామాతో వేరు చేయబడిన విలువ ఫైల్ (.csv)
- Json ఫైల్ (.json)
- టెక్స్ట్ ఫైల్ (.txt)
- ఊరగాయ ఫైల్ (.pkl)
మేము పైన పేర్కొన్న అన్ని పద్ధతులను వివరించబోతున్నాము.
విధానం 1: నిఘంటువును CSV ఆకృతిలో సేవ్ చేయండి
CSV (కామా సెపరేటెడ్ వాల్యూస్) లోకి డిక్షనరీని సేవ్ చేయడానికి, మేము CSV మాడ్యూల్ని ఉపయోగిస్తాము. పైథాన్ డిక్ట్ను సేవ్ చేయడానికి కామాతో వేరు చేయబడిన విలువలు అత్యంత సాధారణ మరియు ప్రసిద్ధ పద్ధతి. చాలా మంది ప్రోగ్రామర్లు ఈ పద్ధతిని ఫైల్కు డిక్ట్ను సేవ్ చేయడానికి మాత్రమే ఉపయోగిస్తారు. CSV గా డిక్షనరీని సేవ్ చేయడం చాలా సులభం ఎందుకంటే మేము డేటాను స్ట్రింగ్గా బదిలీ చేయాలి.
ఉదాహరణ_1: dict_to_csv.py
# dict_to_csv.py
దిగుమతి csv
డిక్ట్_సాంపుల్= {'పేరు':'LinuxHint', 'నగరం':'అది', 'చదువు':'ఇంజినీరింగ్'}
తో తెరవండి('data.csv', 'లో') గాf:
కోసంకీలోడిక్ట్_సాంపుల్.కీలు():
fవ్రాయడానికి('% s,% s n'%(కీ,డిక్ట్_సాంపుల్[కీ]))
లైన్ 2 : మేము CSV పైథాన్ మాడ్యూల్ను దిగుమతి చేస్తాము.
లైన్ 4 : మేము నమూనా శాసనం డేటాను సృష్టించాము. మేము దానిని CSV ఫైల్ రూపంలో సేవ్ చేయడానికి ప్రయత్నిస్తాము.
లైన్ 6: CSV ఫైల్ రాయడానికి మేము ఇక్కడ ‘with’ స్టేట్మెంట్ ఉపయోగిస్తున్నాము. ఫైల్ని చదివేటప్పుడు లేదా వ్రాసేటప్పుడు 'విత్' స్టేట్మెంట్ స్వయంచాలకంగా మినహాయింపు నిర్వహణను నిర్వహిస్తుంది. మేము రైట్ మోడ్లో data.csv ఫైల్ను తెరిచి, ఆ వస్తువును వేరియబుల్ f కి కేటాయిస్తాము.
లైన్ 7 , మేము కీని వెలికితీసే ఒక లూప్ని అమలు చేస్తున్నాము మరియు తదుపరి లైన్లో, అది CSV ఫైల్కు కీ మరియు కీ_వాల్యూని వ్రాస్తుంది. కాబట్టి డేటా ఉన్నంత వరకు ఈ లూప్ రన్ అవుతుంది.
అవుట్పుట్: data.csv
పేరు,LinuxHintనగరం,అది
చదువు,ఇంజనీరింగ్
కాబట్టి, data.csv లో వ్రాసిన తర్వాత పైన పేర్కొన్నది అవుట్పుట్ ఫైల్ను చూపుతుంది.
ఇప్పుడు, CSV రూపంలో ఫైల్కి డిక్ట్ను ఎలా సేవ్ చేయాలో మేము అర్థం చేసుకున్నాము. CSV ఫైల్లో డిక్ట్ ఆబ్జెక్ట్ల జాబితాను రాయాలనుకునే మరొక ఉదాహరణతో ప్రయత్నిద్దాం.
ఉదాహరణ_2: dict_to_csv_2.py
# dict_to_csv_2.pyదిగుమతి csv
csv కాలమ్స్= ['నగరం', 'దేశం', 'ర్యాంక్']
dictDemo= [
{'నగరం':'న్యూయార్క్', 'దేశం':'ఉపయోగాలు', 'ర్యాంక్':3},
{'నగరం':'సిడ్నీ', 'దేశం':'ఆస్ట్రేలియా', 'ర్యాంక్':5},
{'నగరం':'దుబాయ్', 'దేశం':'UAE', 'ర్యాంక్':10},
{'నగరం':'ముంబై', 'దేశం':'భారతదేశం', 'ర్యాంక్':17},
{'నగరం':'బీజింగ్', 'దేశం':'చైనా', 'ర్యాంక్':7},
]
csvFileName= 'data.csv'
ప్రయత్నించండి:
తో తెరవండి(csvFileName, 'లో') గాf:
రచయిత= csv.డిక్ట్ రైటర్(f,ఫీల్డ్ పేర్లు=csv కాలమ్స్)
రచయిత.రైట్ హెడర్()
కోసంసమాచారంలోడిక్ట్ డెమో:
రచయిత.రచయిత(సమాచారం)
తప్ప IOError:
ముద్రణ('తప్పు జరిగింది')
లైన్ 3 నుండి 12: మేము పైథాన్ CSV మాడ్యూల్ను దిగుమతి చేస్తాము మరియు డిక్ట్ ఆబ్జెక్ట్ల జాబితాను రూపొందిస్తాము. మేము కాలమ్ పేర్ల జాబితాను కూడా సృష్టించాము.
13 వ పంక్తి: మేము CSV ఫైల్ పేరును వేరియబుల్కు కేటాయించాము.
పంక్తి 15: మేము ‘విత్’ స్టేట్మెంట్ను ఉపయోగిస్తాము మరియు స్టేట్మెంట్ __enter__ మెథడ్ను రిటర్న్ ఆబ్జెక్ట్ను f వేరియబుల్కు కేటాయించింది.
లైన్ 16 నుండి 19: వేరియబుల్ f కి రిటర్న్ ఆబ్జెక్ట్ కేటాయించిన తరువాత, మేము CSV మాడ్యూల్ యొక్క డిక్ట్రైటర్ పద్ధతిని పిలిచాము మరియు రెండు పారామితులను (ఫైల్ పేరు (f) మరియు కాలమ్ పేర్లు) పాస్ చేసాము. అప్పుడు మేము మరొక పద్ధతి రైట్ హెడర్ () అని పిలుస్తాము, ఇది CSV ఫైల్ యొక్క మొదటి వరుసను వ్రాస్తుంది, ఇది సాధారణంగా ఫీల్డ్ల పేరు. అప్పుడు మేము డిక్ట్ ఆబ్జెక్ట్ల జాబితాలో ఒక లూప్ను అమలు చేస్తాము మరియు రైటరో () పద్ధతిని ఉపయోగించి CSV ఫైల్కు ఒక్కొక్కటిగా వ్రాస్తాము.
విధానం 2: JSON ఫార్మాట్లో టెక్స్ట్ ఫైల్కు డిక్ట్ను సేవ్ చేయండి (మోడ్ జోడించండి)
మేము JSON రూపంలో డిక్ట్ ఆబ్జెక్ట్లను కూడా ఫైల్గా సేవ్ చేయవచ్చు. దిగువ కోడ్ అదే వివరిస్తుంది. ఇప్పటికే ఉన్న JSON జాబితాకు కొత్త JSON ని ఎలా జోడించవచ్చో కూడా ఈ కోడ్ వివరిస్తుంది.
ఉదాహరణ : dict_to_file_asJSON.py
#డిక్ట్_టు_ఫైల్_అస్ JSON.pyదిగుమతిjson
dictDemo= [
{'నగరం':'న్యూయార్క్', 'దేశం':'ఉపయోగాలు', 'ర్యాంక్':3},
{'నగరం':'సిడ్నీ', 'దేశం':'ఆస్ట్రేలియా', 'ర్యాంక్':5},
{'నగరం':'దుబాయ్', 'దేశం':'UAE', 'ర్యాంక్':10},
{'నగరం':'ముంబై', 'దేశం':'భారతదేశం', 'ర్యాంక్':17},
{'నగరం':'బీజింగ్', 'దేశం':'చైనా', 'ర్యాంక్':7},
]
ఫైల్ పేరు= 'dict.json'
# డిక్ట్ ఆబ్జెక్ట్ల జాబితాను ఫైల్కు రాయడం
తో తెరవండి(ఫైల్ పేరు,మోడ్='లో') గాf:
json.డంప్(dictDemo,f)
# ఫైల్కి కొత్త డిక్ట్ ఆబ్జెక్ట్ను జత చేయడం మరియు మొత్తం ఫైల్పై ఓవర్రైట్ చేయడం
తో తెరవండి(ఫైల్ పేరు,మోడ్='లో') గాf:
dictDemo.అనుబంధం({'నగరం':'బీజింగ్', 'దేశం':'చైనా'})
json.డంప్(dictDemo,f)
అవుట్పుట్ : dict.json
[{'నగరం':'న్యూయార్క్', 'దేశం':'ఉపయోగాలు', 'ర్యాంక్':3},{'నగరం':'సిడ్నీ', 'దేశం':'ఆస్ట్రేలియా', 'ర్యాంక్':5},
{'నగరం':'దుబాయ్', 'దేశం':'UAE', 'ర్యాంక్':10},
{'నగరం':'ముంబై', 'దేశం':'భారతదేశం', 'ర్యాంక్':17},
{'నగరం':'బీజింగ్', 'దేశం':'చైనా', 'ర్యాంక్':7},
{'నగరం':'బీజింగ్', 'దేశం':'చైనా'}
]
లైన్ 1 నుండి 13 వరకు : మేము JSON మాడ్యూల్ని దిగుమతి చేస్తాము. అప్పుడు మేము డెమో కోసం డిక్ట్ వస్తువుల జాబితాను రూపొందిస్తాము. అప్పుడు మేము JSON ఫైల్ పేరును వేరియబుల్ ఫైల్ పేరుకు కేటాయించాము.
లైన్ 15 నుండి 17 వరకు : మేము రచన కోసం JSON ఫైల్ని తెరవడానికి 'with' స్టేట్మెంట్ని ఉపయోగిస్తున్నాము, ఆపై మేము json.dump పద్ధతిని ఉపయోగించి DCT ఆబ్జెక్ట్లను 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:
fవ్రాయడానికి(p(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'' ': cvar
ఈ కోడ్ ఫైల్లోని డిక్ట్ ఆబ్జెక్ట్లను సేవ్ చేస్తుంది
అనుబంధం మోడ్.
'' '
dictDemo= [
{'నగరం':'న్యూయార్క్', 'దేశం':'ఉపయోగాలు', 'ర్యాంక్':3},
{'నగరం':'సిడ్నీ', 'దేశం':'ఆస్ట్రేలియా', 'ర్యాంక్':5},
{'నగరం':'దుబాయ్', 'దేశం':'UAE', 'ర్యాంక్':10},
{'నగరం':'ముంబై', 'దేశం':'భారతదేశం', 'ర్యాంక్':17},
{'నగరం':'బీజింగ్', 'దేశం':'చైనా', 'ర్యాంక్':7},
]
ఫైల్ పేరు= 'dict_to_file_appendMode.txt'
# డిక్ట్ ఆబ్జెక్ట్ల జాబితాను ఫైల్కు రాయడం
తో తెరవండి(ఫైల్ పేరు,మోడ్='కు') గాf:
fవ్రాయడానికి(p(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,f)
లైన్ 3 నుండి 13 వరకు : మేము మాడ్యూల్ ఊరగాయను దిగుమతి చేస్తాము మరియు డిక్ట్ వస్తువుల జాబితాను సృష్టిస్తాము. మేము మా డిక్ట్ ఆబ్జెక్ట్లను సేవ్ చేసే ఫైల్ పేరును కూడా సృష్టిస్తాము.
లైన్ 15 నుండి 16 వరకు : మేము ఇక్కడ ‘విత్’ స్టేట్మెంట్ను ఉపయోగిస్తున్నాము మరియు అనుబంధ మోడ్ మరియు బైనరీ ఫార్మాట్తో ఫైల్ను తెరుస్తాము. అప్పుడు మేము డిక్ట్ వస్తువులను ఫైల్లోకి డంప్ చేస్తాము.
ముగింపు
కాబట్టి, డిక్షనరీ ఆబ్జెక్ట్ను ఫైల్కు సేవ్ చేయడానికి మేము వివిధ పద్ధతులను చూశాము. ఇది ఆబ్జెక్ట్ను ఫైల్లోకి ఎలా సేవ్ చేయాలనే దానిపై వినియోగదారుపై ఆధారపడి ఉంటుంది. డిక్ట్ ఆబ్జెక్ట్ను ఫైల్లో సేవ్ చేయడానికి అత్యంత సాధారణ పద్ధతులు JSON మరియు CSV. JSON మరియు CSV ఫార్మాట్లు ప్రోగ్రామింగ్ కోణం నుండి చాలా ప్రసిద్ధమైనవి లేదా పైథాన్లో నిర్వహించడం సులభం. ఫైల్లను సేవ్ చేసే అనుబంధం మోడ్ను కూడా మేము చూశాము.
ఈ వ్యాసం కోసం కోడ్ ఈ లింక్ నుండి డౌన్లోడ్ చేసుకోవచ్చు:
https://github.com/shekharpandey89/save-dict-object-to-a-file