一位朋友最近向我展示了你可以创建一个在Python中作为dict子类的实例,然后使用该实例进行保存,更新等。看起来你有更多的控制权,而且它看起来也更容易。 / p>
Sub TryMe()
'1. some visible values in col A will be will be hidden in col B by hidden rows
Sheet1.Range("A1:A10").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Range("A1").Offset(ColumnOffset:=1)
'2. all visible values in col A will be will be visible bellow
Sheet1.Range("A1:A10").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Range("A11").Offset(ColumnOffset:=1)
End Sub
答案 0 :(得分:1)
作者在这里。您想要使用它(或许多类似库中的一个)的一般原因是为了安全。为MongoAlchemy文档分配值时,它会检查检查以确保满足您指定的所有约束(例如,类型,字符串长度,数字边界)。
它还有一个查询DSL,比使用类似json的内置语法更令人愉快。以下是文档中的示例:
>>> query = session.query(BloodDonor)
>>> for donor in query.filter(BloodDonor.first_name == 'Jeff', BloodDonor.age < 30):
>>> print donor
Jeff Jenkins (male; Age: 28; Type: O+)
MongoAlchemy Session对象还允许您模拟交易:
with session:
do_stuff()
session.insert(doc1)
do_more_stuff()
session.insert(doc2)
do_even_more_stuff()
session.insert(doc3)
# note that at this point nothing has been inserted
# now things are inserted
这并不意味着这些插入是一个原子操作 - 甚至所有写入都会成功 - 但它确实意味着如果你的应用程序在&#34; do_stuff&#34;你没有完成一半插入的功能。因此,它可以防止特定且相当常见的错误类型