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

如何将 pandas 数据框转换为 json 以在 django 模板中使用

pandas to_json , django 和 d3.js 用于可视化

Django + Postgres:将 JSON 字符串作为 JSON 类型直接保存到模型中

如何从一个文件中读取多个 JSON 数据列表到 Pandas