簡體   English   中英

將字典(帶有 integer 值)轉換為 json

[英]convert dict(with integer value) to json

我使用了帶有國家和服務數據的dataframe來計算按國家分組的服務的重復次數並生成字典 d。 我一直在嘗試將dict轉換為json因為dict類型不可調用。 但它給出了以下error 如何將int64更改為字符串?

TypeError: Object of type 'int64' is not JSON serializable

我努力了:

d = {'India': {'A': 1, 'C': 2}, 'Malaysia': {'B': 1, 'A': 1, 'D': 1}, 'Croatia': {'C': 1}}
y = json.dumps(d)
return y

您是否導入了 json? 因為以下工作正常

import json
d = {'India': {'A': 1, 'C': 2}, 'Malaysia': {'B': 1, 'A': 1, 'D': 1},               
'Croatia': {'C': 1}}

y = json.dumps(d)
print(type(y))

看起來您正在嘗試序列化 int64 類型的 numpy 數據的數據。 您需要先將數據轉換為 python 整數。

在這里修改答案應該有效: 如何將字典中的字符串值轉換為 int/float 數據類型?

編輯:您可以將所有條目轉換為字符串,如下所示:

import json

d = {'India': {'A': 1, 'C': 2}, 'Malaysia': {'B': 1, 'A': 1, 'D': 1}, 'Croatia': {'C': 1}}

for country_dict in d.values():
    for key in country_dict:
        country_dict[key] = str(country_dict[key])

y = json.dumps(d)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM