Python讀寫JSON格式的文字檔案
阿新 • • 發佈:2021-02-17
Python讀寫JSON格式的文字檔案
JSON
是一種輕量級的資料交換格式,易於人們編寫和機器解析與生成。JSON
雖然採用了完全獨立與語言的文字格式,但也使用了一些C
語言的特性,這些特性是JSON
稱為一種理想的資料交換語言。在Python
中讀寫JSON
格式的文字通常使用兩種方法,使用JSON模組讀寫和使用Pandas庫讀寫。
使用JSON模組讀寫
Python
內建了處理JSON
的json
模組,可以直接處理字串,整型,浮點型,列表,元組,字典等型別的資料。將Python
原始資料型別轉為JSON
Python型別 | JSON型別 |
---|---|
dict | object |
list, tuple | array |
str | string |
int, long, float | number |
True | true |
False | false |
None | null |
將JSON
型別轉換為Python
型別的過程稱為反序列化(從JSON
檔案中讀取資料),反序列化前後關係對應表如下。
JSON型別 | Python型別 |
---|---|
object | dict |
array | list |
string | str |
number(int) | int, long |
number(real) | float |
true | True |
false | False |
null | None |
(1)寫入
import json
obj = [[1,2,3], 123, 123.000, 'ab', {'name': 'Jerry', 'age': 18}]
with open('test.json', 'w') as fp:
json.dump(obj, fp)
(2)讀取
import json
obj = json.load(open('test.json'))
print(obj)
使用Pandas庫讀寫
(1)讀取
test.json
檔案內容
import pandas as pd
df = pd.read_json('test.json')
df
(2)寫入
import pandas as pd
df = pd.DataFrame({'name': ['Tom', 'Jerry'], 'age': [10, 11]})
df
with open('test.json', 'w')as fp:
fp.write(df.to_json(force_ascii=False))