PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] Pandas 如何讀取過大的json
作者:
energyaxd
(君)
2019-07-27 15:13:58
我新手學python沒多久有夠菜
試了很久還是解決不了這個問題
有求於各位大大幫忙
Json結構大概如下
[{A:123,
B:456,
C:[{a:1, b:1, c: 1},{a:2, b:2, c:3}.....]},
{
...}]
因為大概有30萬列
因為pandas的read_json會出現memory error
查了一下用ijson試著慢慢讀取
用下面的code讀A跟B
寫入DataFrame都沒問題
但是換讀取C又會出現memory error
C裡面是相同結構dict組成一個長度不等的list
不知道還有什麼方法可以寫進DataFrame
以下是code
filename='full.json'
with open(filename,'r') as f
objects = ijson.items(f, 'item.C')
columns = list(objects)
df['C'] = pd.Series(columns)
請問該怎麼處理...
作者:
TitanEric
(泰坦)
2019-07-27 20:17:00
查了一下官網 有chunk_size可以指定 也許會好一點
作者:
energyaxd
(君)
2019-07-27 21:18:00
我照找到的範例做過for chunk in chunks 這邊就會error好像是說chunks不能迭代 我也不懂...
作者:
TitanEric
(泰坦)
2019-07-27 22:56:00
可以貼一下你嘗試的code嗎~
作者:
energyaxd
(君)
2019-07-28 11:27:00
https://i.imgur.com/spQh4yr.jpg
忘記哪裡看到的chunks是json reader可是不知道怎麼用昨天查到改成64bit用ijson勉強可以讀進去 不過非常的慢
https://i.imgur.com/lWQCJdS.jpg
作者:
TitanEric
(泰坦)
2019-07-28 12:05:00
https://bit.ly/2Y4zL2e
錯誤訊息看起來是內容不太能parse?BTW 上面連結你也許可以參考
作者:
energyaxd
(君)
2019-07-28 15:16:00
謝謝 我再研究看看
作者:
sherees
(ShaunTheSheep)
2019-07-28 22:51:00
檔案多大 記憶體多大
作者:
energyaxd
(君)
2019-07-29 18:28:00
2G的json 16G的Ram
作者: ssivart
2019-07-30 00:14:00
30萬列要2g???
作者:
energyaxd
(君)
2019-07-30 16:32:00
有些欄位是文章 或是回覆組成的list不知道是不是要找別的方式分析處理?
作者:
s860134
(s860134)
2019-07-30 21:18:00
網路上有類似的討論giga byte 級的 json 是不是 JSONL 格式?可以試試看 json_lines
https://bit.ly/2Mschgs
因為是逐行讀入,所以可以避開佔用 memory 的問題資料會因為物件結構不同使得 memory size 倍數成長
繼續閱讀
[問題] 題目的意思(目的)
s82237823
[問題] @property
tsaiminghan
Re: [問題] 新手學python想抓網頁資料
alvinlin
[問題] 掌握 python
plsmaop
[問題] 新手學python想抓網頁資料
yeeche
[問題] python基礎課程詢問
cloud812016
[問題]請問週期曲線的高底起伏大小
nicha115
Re: [問題] 這問題提該怎解決
sating00
[問題] 字串轉碼問題
tg70197
Re: [問題] 這問題提該怎解決
papple23g
Links
booklink
Contact Us: admin [ a t ] ucptt.com