我是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)
我不知道这是最好的方法还是正确的方法,因此,如果您认识其他任何人,那么任何建议都会很棒。
谢谢!
答案 0 :(得分:1)
AttributeError
.read_json
function是pandas
中的函数,而不是pandas.DataFrame
对象上的方法。因此,您需要这样称呼它:
import pandas as pd
df = pd.read_json("registryDB.json")
您通过调用df
pandas
函数来创建 read_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)