Isingeniso
Emkhakheni wohlelo nokuhlaziywa kwedatha, iloga ye-CSV (Amanani Ahlukaniswe Ngokhefana) idlala indima ebalulekile. Le fomethi yefayela elula kodwa enamandla isiza ukushintshaniswa kwedatha phakathi kwezinhlelo zokusebenza ezahlukene. Ku-Python, ukugawulwa kwemithi kuvumela indlela ehlelekile neguquguqukayo yokukhipha kungobo yomlando, amaphutha, ulwazi, nokugeleza kohlelo. Lesi sihloko sizocubungula inkinga ehlobene ne-CSV logger futhi yethule isisombululo se-Python esibanzi, sicacise yonke ingcosana yekhodi esetshenziswa kule nqubo.
Ukuqonda Inkinga
- Ihiccup eyinhloko onjiniyela ababhekana nayo ngokuloga kwe-CSV indlela yokurekhoda idatha ngempumelelo kukho konke ukusebenza kohlelo. Ngaphandle kwesiloga esifanelekile se-CSV, kunzima ukunakekela, ukuhlela nokuhlanza idatha eqoqiwe. Le datha ezuziwe ingase isetshenziselwe izinjongo zokuhlaziya nokulungisa iphutha.
- Enye inkinga evamile ukwenzeka kokulahleka kwamalogi lapho uhlelo lokusebenza luphahlazeka kungazelelwe. Isiloga se-CSV esiqinile kufanele sikwazi ukubuyisela noma ukulondoloza amalogi, ngisho noma kwenzeka kuba nesiphazamiso sohlelo lokusebenza.
I-Python kanye ne-CSV Logging
I-Python, njengoba ilulimi oluguquguqukayo, inikeza ukwesekwa okubanzi kokuloba kwe-CSV kusetshenziswa imitapo yolwazi echazwe ngaphambilini njenge- logging kanye nomtapo wolwazi we-csv.
Isixazululo: Umhlahlandlela wesinyathelo ngesinyathelo
Ukuze sinqobe izinkinga ezishiwo ngenhla, sizodala iloga ye-python CSV erekhoda ngempumelelo amalogi kufayela le-CSV. Ikhodi yePython elandelayo ikhombisa ukuthi lokhu kungafinyelelwa kanjani.
import logging
import csv
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('CSV Logger')
handler = logging.FileHandler('file.log')
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
def log_to_csv(info):
with open('file.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow(info)
# example usage
logger.info("Starting to write log.")
log_to_csv(['INFO', 'Starting to write log.'])
logger.info("Log has been written.")
log_to_csv(['INFO', 'Log has been written.'])
Ngokusebenzisa isibonelo, simane siqale i-logger bese sisebenzisa umsebenzi we -log_to_csv() ukuze sibhalele ifayela le-CSV. Ukufakwa ngakunye kwe-log kuzoba kumugqa omusha, okugcina uhlobo lochungechunge lwesikhathi lwama-log.
Ukuchaza Ikhodi
Esinyathelweni sokuqala sombhalo wethu, singenisa imitapo yolwazi edingekayo: ukugawulwa kwemithi ne-csv, ehlinzekwa yiPython. Ngelabhulali yokungena, silungiselela imininingwane yokungena eyisisekelo njengezinga lokungena.
Okulandelayo, sakha i-logger yethu futhi siyilungiselele ngesibambi esibhala izingodo efayeleni. Lesi sibambi sithola imilayezo yaso yelogi ifomethwe ku-CSV, ilungele ukubhalwa.
Bese sichaza umsebenzi othi log_to_csv() ophatha ukubhala amalogi kufayela le-CSV. Ngaphakathi kwalo msebenzi, kudalwa umbhali we-CSV, ovula ifayela kumodi yokwengeza ukuze amalogi angabhali ngaphezulu komunye nomunye. Uhlu lolwazi lokufaka ekugcineni lubhalwa njengomugqa kufayela le-CSV.
Python Libraries kanye nemisebenzi
I-Python inikeza umtapo wolwazi we-csv onemisebenzi echazwe ngaphambilini yokufunda nokubhala kumafayela e-CSV. Umsebenzi we -csv.writer usivumela ukuthi sibhale idatha kufayela le-CSV kalula. Siphinde sisebenzise umtapo wolwazi we-Python wokubhala ukuze sikhiqize amalogi adinga ukubhalwa kufayela le-CSV. Womabili lawa malayibrari angamathuluzi anamandla kubathuthukisi be-Python.
UPeter Chapman, isazi sezenkolo esidumile, wake wathi, “Umbala ungamandla athonya umphefumulo ngokuqondile.” Kungashiwo okufanayo mayelana nezinhlelo: ubuhle bePython buthonya ngqo ukusebenza kwesixazululo sakho. Ngokuqonda okuhle nokusebenzisa kahle imitapo yolwazi nemisebenzi yePython, umuntu angakha ngempumelelo izixazululo eziqinile nezithembekile.