新聞中心
這篇文章主要介紹“怎么高效率的保存多個(gè)python對(duì)象”,在日常操作中,相信很多人在怎么高效率的保存多個(gè)python對(duì)象問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么高效率的保存多個(gè)python對(duì)象”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
前言
json文件因其簡(jiǎn)潔精煉,在網(wǎng)上特別流行,我們寫(xiě)爬蟲(chóng)時(shí)經(jīng)常碰到網(wǎng)站使用json格式傳輸數(shù)據(jù)。但是如果要存儲(chǔ)的數(shù)據(jù)有1G,那么讀取一個(gè)json文件需要一次性讀入,這需要占用很大的內(nèi)存,對(duì)電腦壓力過(guò)大。所以我們需要將數(shù)據(jù)存儲(chǔ)為很多個(gè)對(duì)象,通過(guò)逐行讀取方式減輕內(nèi)存占用壓力。所以今天就講到j(luò)sonlines這個(gè)庫(kù),希望大家能有所收獲。
json文件因其簡(jiǎn)潔精煉,在網(wǎng)上特別流行,我們寫(xiě)爬蟲(chóng)時(shí)經(jīng)常碰到網(wǎng)站使用json格式傳輸數(shù)據(jù)。但是如果要存儲(chǔ)的數(shù)據(jù)有1G,那么讀取一個(gè)json文件需要一次性讀入,這需要占用很大的內(nèi)存,對(duì)電腦壓力過(guò)大。所以我們需要將數(shù)據(jù)存儲(chǔ)為很多個(gè)對(duì)象,通過(guò)逐行讀取方式減輕內(nèi)存占用壓力。所以今天就講到j(luò)sonlines這個(gè)庫(kù),希望大家能有所收獲。
jsonlines
每一行都是一個(gè)json或python對(duì)象
采用utf-8編碼
jsonlines庫(kù)的特性
便捷的open()功能
易于寫(xiě)入
傳入文件名和寫(xiě)入方式mode
返回Reader或Writer實(shí)例
能被用做上下文管理器
安裝
pip install jsonlines
使用方法
jsonlines可以保存python的各種數(shù)據(jù)類(lèi)型對(duì)象,如列表、字典、數(shù)字、元組、集合等等。
例如以python字典類(lèi)型逐行寫(xiě)入到j(luò)sonl文件里
import jsonlineswith jsonlines.open('data.jsonl', mode='w') as writer: writer.write({'a':5}) writer.write({'a':6}) writer.write({'a':7})
發(fā)現(xiàn)當(dāng)前工作路徑下已經(jīng)生成了一個(gè)jsonl文件。
以逐行的方式讀取jsonl文件里的多個(gè)字典
with jsonlines.open('data.jsonl', mode='r') as reader: for row in reader: print(type(row), row)
運(yùn)行
{'a': 5} {'a': 6} {'a': 7}
到此,關(guān)于“怎么高效率的保存多個(gè)python對(duì)象”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
分享題目:怎么高效率的保存多個(gè)python對(duì)象-創(chuàng)新互聯(lián)
文章地址:http://www.dlmjj.cn/article/jhico.html