我正在熟悉Python中的class/OOP,并且正在练习一个跟踪财务状况的基本程序。我有一个程序,我把条目添加到一个JSON文件中,然后把这个文件保存起来。现在我想把JSON文件读入一个dataframe并对其执行一些聚合。那就是我被困的地方。以下操作失败:
json.decoder.JSONDecodeError: Extra data: line 7 column 2 (char 122)
JSON文件如下所示:
{
"DATE": "2019-02-01 12:57:13.140724",
"HSA": "600",
"401K": "90",
"ROTH": "900",
"SAVINGS": "1000"
}{
"DATE": "2019-02-01 12:57:26.995724",
"HSA": "250",
"401K": "90",
"ROTH": "80",
"SAVINGS": "900"
}
有什么想法吗?你知道吗
import datetime
import json
import pandas as pd
class BankAccount:
def __init__(self):
self.accounts = ['HSA', '401K', 'ROTH', 'SAVINGS']
self.records = {}
self.now = datetime.datetime.now()
def data_entry(self):
for i in self.accounts:
x = input('Enter the amount for {}:'.format(i))
self.records['DATE'] = self.now
self.records[i] = x
def display(self):
return self.records
def savefile(self):
with open('finance.json', 'a') as file:
file.write(json.dumps(self.records, indent=4, sort_keys=True, default=str))
file.close()
def analyzedata(self):
with open('finance.json', 'r') as f:
obj = json.load(f)
frame = pd.DataFrame(obj, columns=['401K', 'HSA', 'ROTH', 'SAVINGS', 'DATE'])
print(frame)
s = BankAccount()
s.data_entry()
s.savefile()
s.analyzedata()
顺便说一句,对于为什么这是一个不好的方法,你可以提供任何其他的建议,例如使用字典或者其他任何可能的方法。还在学习。谢谢
JSON数据表示为一个dict,而不是一个文件中的多个dict。也就是说,我建议JSON格式基本上是一个dict,它有一个键
'data'
,其中包含一个record
dict列表。我还修正了几个namimg惯例,我说的一件小事更容易理解我的评论。你知道吗运行时:*几次**
财务.json
相关问题 更多 >
编程相关推荐