Python 以可以打印的格式读取JSON
我想读取从Python 以可以打印的格式读取JSON,python,pandas,matplotlib,Python,Pandas,Matplotlib,我想读取从dict()生成的JSON文件,这样我就可以制作一个饼图。到目前为止,我的代码是: import json import pandas as pd openJson = open("path") jsonFile = json.load(openJson) df = pd.DataFrame.from_dict(jsonFile) 我遇到的问题是,我甚至无法尝试绘制图形,因为我无法将JSON转换为数据帧。我得到的错误是ValueError:如果使用所有标量值
dict()
生成的JSON文件,这样我就可以制作一个饼图。到目前为止,我的代码是:
import json
import pandas as pd
openJson = open("path")
jsonFile = json.load(openJson)
df = pd.DataFrame.from_dict(jsonFile)
我遇到的问题是,我甚至无法尝试绘制图形,因为我无法将JSON转换为数据帧。我得到的错误是ValueError:如果使用所有标量值,则必须传递索引。我还尝试从dict(jsonFile,index=[0])
中编写df=pd.DataFrame.from,正如在类似的帖子中找到的那样,但似乎index
是一个意外的参数
我如何读取JSON以便绘制它
LE:添加了名为category.JSON的JSON文件
{"Restaurants": 678.7800000000001, "Utilities": 807.26, "Services": 35.67, "Transport": 1295.65, "Shopping": 1454.15, "Groceries": 1162.89}
像这样读取JSON文件
df = pd.read_json (r'C:\Users\XXX\Desktop\data.json')
如果您的文件已经是JSON格式,这将起作用。请尝试以下方法
import pandas as pd
import json
with open('data.json') as f:
df = pd.DataFrame(json.load(f),index=[0])
print(df)
输出
Restaurants Utilities ... Shopping Groceries
0 678.78 807.26 ... 1454.15 1162.89
[1 rows x 6 columns]
Json看起来像什么like@ifly6我已经编辑了我的帖子来添加文件,很遗憾,我是如何得到同样的错误的,所以它不起作用。我还可以尝试什么?按照这个,很抱歉再次伸出手来,但我尝试了简单的饼图绘图df.plot(subplot=True,kind='pie')
,但没有显示任何内容。奇怪的是,PyCharm没有显示错误。请参阅