pandas讀取各種類型的json文本文件

pandas用read_json讀取json文件

pandas.read_json語法如下

pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True, 
convert_axes=True, convert_dates=True, keep_default_dates=True, 
numpy=False, precise_float=False, date_unit=None, encoding=None, 
lines=False, chunksize=None, compression='infer')

其中,orient是用來指定傳入的json字符串類型

orient的設置值

1.split,用來讀取有索引,由列字段和數據構成的json格式:

{index: [index], columns: [columns], data: [values]}
index作爲索引, columns作爲列名結合data的values組成一個dataframe

s = "{'index': [1, 2, 3], 'columns: ['a', 'b'], 'data':[[1, 3], [2, 8], [3, 9]]}"
pd.read_json(s, orient='split')

2.records,用來讀取成員爲字典的列表:

[{column1: value1, column2: value2}, …, {column1: value1, column2: value2}]
鍵column爲列名,value爲列所對應的值,每一個字典成員就構成了dataframe的一行數據

s = "[{'a': 1, 'b': 3}, {'a': 2, 'b': 6}, {'a': 3, 'b': 9}]"
pd.read_json(s, orient='records')

3.index,用來讀取以索引爲key,以列字段構成的字典爲鍵值的json格式:

將key作爲dataframe的index,字典中的鍵和鍵值構成dataframe的data
{index1: {column1: value1, column2: value2}, index2: {column1: value1, column2: value2}}

s = "{'0': {'a': 1, 'b': 2}, '1': {'a': 9, 'b': 11}}"
pd.read_json(s, orient='index')

4.columns,處理以列爲鍵,對應一個值字典的對象:

{column1:{index1: value1, index2: value1}, column2:{index1: value2, index2: value2}}
將column作爲列名,index作爲索引,value爲列的數據,組成一個dataframe

s = "{'a': {'0': 1, '1': 9}, 'b': {'0': 2, '1': 11}}"
pd.read_json(s, orient='columns'

5.values,處理一個嵌套的列表,裏面的成員也是列表:

[[value1, value2], …, [value1, value2]]

s = "[['a', 1], ['b', 2]]"
pd.read_json(s, orient='values')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章