JSON жана CSV менен иштөө
Python объекттерин башка программалар окуй ала турган файлдарга айландырыңыз жана аларды кайра окуңуз
json жана жалпак, таблица формасындагы маалымат үчүн csv.
- сериалдаштыруу деген эмне экенин жана файлдар эмне үчүн программанын эстутумунан узак жашай турганын түшүндүрө аласыз,
- Python объекттерин
json.dumps/loadsменен JSON текстине жана тескерисинче айландыра аласыз, файлдардыjson.dump/loadаркылуу окуп/жаза аласыз, - Python ↔ JSON тип дал келүүсүн окуп жана болжолдой аласыз (жана анын курч бурчтары: кортеждер,
None, сөздүктүн ачкычтары), - таблица маалыматын
csv.reader/writerжана ыңгайлуураакcsv.DictReader/DictWriterменен окуп/жаза аласыз, - CSVнин классикалык тузактарынан качасыз — бош сап катасы, баары сап болушу жана коддоо,
- берилген тапшырма үчүн адаттан эмес, аңдап JSON же CSVни тандай аласыз.
1. Түзүмдөштүрүлгөн маалымат жана сериалдаштыруу
Программаңыздын маалыматын бөлмөнүн ичиндегидей элестетиңиз: эмерек, кутулар, зымдар — баары жайгаштырылган жана байланышкан. Аны башка үйгө көчүрүү үчүн бөлмөнү телепорттоо мүмкүн эмес; сиз баарын жазуулуу кутуларга (жүк ташуучулар түшүнгөн формат) таңгактайсыз, кутуларды жеткиресиз, анан экинчи учунда жайгаштырууну кайра түзүү үчүн таңгактан чыгарасыз. Сериалдаштыруу — бул эстутумдагы объекттерди жалпак текст агымына таңгактоо; десериалдаштыруу — ошол текстти кайра жандуу объекттерге чыгаруу.
Эмне үчүн текст? Анткени эстутумдагы Python сөздүгү — бул сушул гана Python процесси түшүнгөн көрсөткүчтөрдүн чырмалышы. Текст файл, тескерисинче, универсалдуу — аны электрондук таблица, JavaScript тиркемеси, маалымат базасын импорттоо куралы же кесиптештин редактору окуй алат. JSON жана CSV — бул эки макулдашылган текст форматы:
- JSON (JavaScript Object Notation) кыстарылган, типтелген маалыматты сактайт: объекттердин ичиндеги тизмелердин ичиндеги объекттер. Ал Python сөздүктөрүнө жана тизмелерине дээрлик бирден-бирге дал келет, ошондуктан бул веб-API жана конфигурация файлдары үчүн демейки тил.
- CSV (Comma-Separated Values, үтүр менен ажыратылган маанилер) бир жалпак таблицаны сактайт: саптар жана мамычалар, электрондук таблицанын бир барагындай. Ал жыйнактуу жана аны каалаган таблица программасы ачат, бирок анда кыстаруу да, типтер да жок.