在uproot 3文档中有这样信息: uproot只能写入每个条目包含1个值的分支。另一方面,我可以在uproot上看到一些关于编写锯齿数组等的主题。所以,我想确保: uproot可以将包含数组的TBranches写入TTree吗?如果是这样的话,有记录在案吗?
谢谢!
发布于 2020-12-19 23:00:07
当它被移植到uroot4时,这将被更好地记录下来,但是我们现在拥有的关于在uroot3中编写锯齿数组的最好的文档是pull请求和相关的问题(所有这些都是相互关联的):
https://github.com/scikit-hep/uproot3/pull/477
以下是测试中的一个示例:
import uproot3
import awkward0
a = awkward0.fromiter([[0],
[1, 2],
[10, 11, 12]])
with uproot3.recreate(filename, compression=None) as f:
f["t"] = uproot3.newtree({
"branch": uproot3.newbranch(numpy.dtype(">i4"), size="n")
})
f["t"].extend({"branch": a, "n": [1, 2, 3]})
f = ROOT.TFile.Open(filename)
tree = f.Get("t")
for i, event in enumerate(tree):
assert(numpy.all([x for x in event.branch] == a[i]))https://stackoverflow.com/questions/65370728
复制相似问题