Django JSON 文件到 Pandas 数据框
Posted
技术标签:
【中文标题】Django JSON 文件到 Pandas 数据框【英文标题】:Django JSON file to Pandas Dataframe 【发布时间】:2017-06-27 03:19:13 【问题描述】:我在 Django 中有一个简单的 json。我用这个命令data = request.body
捕获文件,我想把它转换成熊猫数据帧
JSON:
"username":"John", "subject":"i'm good boy", "country":"UK","age":25
我已经尝试过 pandas read_json 方法和 json 库中的 json.loads,但是没有用。
【问题讨论】:
没用! 如果我使用这种格式发送 JSON,它可以工作:[ "username":"John", "subject":"i'm good boy", "country":"UK", " age":25 ] 但我想在没有数组 [] 的情况下捕捉它 添加您的代码,以便更容易理解您的问题。 【参考方案1】:当你有 json 或字典时,你也可以使用pd.DataFrame.from_records()
df = pd.DataFrame.from_records([ json ]) OR df = pd.DataFrame.from_records([ dict. ])
或
您需要为 pandas 数据框提供可迭代对象:
e.g. df = pd.DataFrame('column_1':[ values ],'column_2':[ values ])
【讨论】:
【参考方案2】:我认为你需要DataFrame
构造函数:
json = "username":"John", "subject":"i'm good boy", "country":"UK", "age":25
print (pd.DataFrame(json, index=[0]))
age country subject username
0 25 UK i'm good boy John
或者:
print (pd.DataFrame([json]))
age country subject username
0 25 UK i'm good boy John
编辑:
如果输入是file
,得到error
:
s = pd.read_json('file.json')
ValueError: 如果使用所有标量值,则必须传递索引
必须添加typ=Series
,然后通过T
转置Series.to_frame
:
s = pd.read_json('file.json', typ='series')
print (s)
age 25
country UK
subject i'm good boy
username John
dtype: object
df = s.to_frame().T
print (df)
age country subject username
0 25 UK i'm good boy John
【讨论】:
好的,type(json)
是什么?
如果[ "username":"John", "subject":"i'm good boy", "country":"UK", "age":25 ]
工作很有趣-我认为pd.DataFrame(json)
。但如果没有[]
,您需要pd.DataFrame([json])
- 将[]
添加到变量json
它是一个简单的 json,每个 Web 平台都使用它来将信息发送到一个 Web 服务到另一个 Web 服务。我使用 POST 方法发送并捕获它。你什么类型(json)是什么意思???如果我使用此命令,我的网络服务不会返回任何内容。
@jezrael 它只返回“0”。它不能正常工作。
对不起,我试着解释一下。我不是 django 用户,但如果通过x = some code what return json
将输出分配给变量x
,则可以使用type(x)
以上是关于Django JSON 文件到 Pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章
为 Django 模板中的 Highcharts 从 Pandas 数据帧格式化 JSON
如何将 pandas 数据框转换为 json 以在 django 模板中使用
pandas to_json , django 和 d3.js 用于可视化