【发布时间】:2021-04-26 15:21:25
【问题描述】:
如何将多个 tinyDB(基于文档的数据库)数据库添加在一起而不会出现 AssertionError 错误?
我试图在这个例子中添加 12 个 tinyDB 数据库。
每个编号的文件如下所示:
{
"_default": {
"1": {
"Strategy": "MAShift",
"Symbol": "AAVE/USD",
"Timeframes": [
"30T"
],
"Parameters": {
"atr": 14,
"sma": 5,
"longLine": 3,
"shortLine": 5,
"slMultipier": 12,
"leverage": 1
},
"Start": "2020-10-13 12:00:00",
"End": "2021-04-26 11:30:00",
"Duration (days)": 194,
"Equity Start [$]": 10000,
"Equity Final [$]": 90470.5732,
"Return [%]": 804.71,
"Max. Drawdown [%]": -28.1,
"Win rate [%]": 69.12,
"Total trades": 570,
"Avg. trade [%]": 0.43,
"Avg. winning trade [%]": 1.88,
"Avg. losing trade [%]": -2.81
}, ...
}
}
我的代码:
from tinydb import TinyDB
resultsTotalDb = TinyDB(f'db/backtestingResultsTotal.json')
for i in range(12):
resultsDb = TinyDB(f'db/backtestingResults{i}.json')
for result in resultsDb.all():
resultsTotalDb.insert(result)
错误:
AssertionError: doc_id 1 already exists
【问题讨论】:
-
错误很明显 - 你不能有重复的文档 ID。
-
是的,这正是我试图解决的错误。因为所有 12 个文件都有文档 ID,当我尝试将第二个文件添加到“主”文件时出现此错误,这是因为文档 1 和 2 都具有文档 ID 1、2、3,...
-
@AKX 我已经用文件结构和带编号的 json 文件的示例更新了我的问题。
标签: python json python-3.x tinydb