python處理大型json檔案的方法

2022-10-08 16:45:30 字數 1566 閱讀 1429

先用python進行預處理,即一整個json資料載入慢,那就分開載入,每次載入乙個json物件,然後使用 json.dumps()方法 儲存到txt中,方便讀取。當然也可以儲存到記憶體中,根據情況而定。

演算法思想:因為 json 是一種結構化的資料,所以 {} 是成對存在的。因為使用逐行讀取的方法讀入json檔案,所以根據 {} 的數量來判斷是否讀取了乙個完整的json物件,如果是完整的,則使用 json.dumps()方法 儲存到txt中。

getusefulldata(temp +line,id)這個方法是提取自己需要的資料

def

jsonprocess(filename,round):

id = 1with open(filename, 'r

', encoding='

utf-8

') as f,open('

../tempdata/tempfile

'+str(round)+'

.txt

','w

') as tempfile:

line =f.readline()

line =f.readline()

temp = ''

khnum =0

id = 1

while

line:

#print(line)

if line.find('

') != -1:

khnum -= 1

if khnum ==0:

line = line.replace('

,',''

) data = getusefulldata(temp +line,id)

id += 1

if len(data) > 1:

#print(data)

try:

tempfile.write(json.dumps(data)+'\n'

)

except

'json.decoder.jsondecodeerror':

break

temp = ''

line =f.readline()

continue

temp +=line

line = f.readline()

讀取方法:

with open('

../tempdata/tempfile

'+str(round)+'

.txt

') as f:

datalist =f.readlines()

#解析儲存好的list

for data in

datalist:

data = json.loads(data)

python檔案操作及異常處理,json檔案操作

一 python檔案的簡單操作 1 任何時候使用檔案必須先開啟檔案,一般是用with open進行操作,單單使用open可能某些時候忘了關閉檔案。2 檔案路徑需要明確,當使用多個資料夾進行模組化呼叫的時候,還需要拼接路徑,找到父路徑。3 全部載入與逐行讀取 4 檔案寫入 檔案操作 檔案開啟和讀取方法...

python 裡面處理json

今天遇到json資料的批量處理 把json轉成csv 其實json檔案就是key value的形式,讀到python就是dict,如果外面套了,讀到python裡面就變成list,讀取的時候需要loads和load的區別 load是對已經讀入到記憶體的檔案的解析為python的變數 loads是從硬...

python 處理json資料

以下是登入賬號後獲取的json資料,headers中注意加入cookie值 需要處理的資料如下 全部 如下 response.text 轉換成json格式 dic data dict str datalist dic data dict str datalist 0 userid 取出字典中的字段值...