使用pandas将信息添加到Python中的Json文件中

时间:2019-12-29 15:08:00

标签: python json pandas dataframe

我是Json和Python的新手,并且一直在尝试更新Json文件,我正在努力阅读,更新和保存带有新旧信息的文件的过程。我仅使用Json字符串尝试了此操作,但是格式存在很多问题,我更喜欢将Json读取到Pandas Dataframe中,进行更新然后保存。我能够保存和更新数据框,但是在将文件读取到数据框时遇到问题。

除read_json函数外,其他所有东西都工作正常:     df = df.read_json("registryDB.json")

我收到此错误: AttributeError: 'DataFrame' object has no attribute 'read_json'

这是功能代码:

df = df.read_json("registryDB.json")

 df = df.append({
'Name': 'John', 
'User': 'John123', 
'Last Name': 'Doe', 
'Age': 27, 
'Gender': 'm', 
'Location': 'US', 
'Date': timestamp
}, ignore_index=True)

file = df.to_json(orient='table')

with open("registryDB.json", "w") as dataFile:
   json.dump(file, dataFile)

我不知道这是最好的方法还是正确的方法,因此,如果您认识其他任何人,那么任何建议都会很棒。

谢谢!

1 个答案:

答案 0 :(得分:1)

解决AttributeError

.read_json functionpandas中的函数,而不是pandas.DataFrame对象上的方法。因此,您需要这样称呼它:

import pandas as pd


df = pd.read_json("registryDB.json")

您通过调用df pandas函数来创建 read_json()

使用JSON的更简单方法

在Python中,有一种与JSON交互的更简单的方法:json module是Python标准库的一部分。

您可以快速将JSON文件读入Python字典。然后,您可以像使用任何Python词典一样使用它。当您准备将其保存回JSON文件时,这是另一个简单的调用:

import json


with open("registryDB.json", "r") as fin:
    data = json.load(fin)

# do your edits on the data dict

with open("new_file.json", "w") as fout:
    json.dump(data, fout)