读取PythonCDispatch对象仅给出第一行

读取PythonCDispatch对象仅给出第一行,python,recordset,Python,Recordset,接下来的第一个问题……我们刚刚开始使用Python 3.6。我正在创建一个表格数据的XML格式文档。文档对象本身有一个名为CellValues的集合。使用Dimensions(又名Unicom Intelligence),我可以将此集合作为记录集读取,并使用.movenext()等循环它。 但是,当我用Python阅读它时: rs=tomdoc.tables["T0"].cellvalues() for val in rs: print(val) 我只看到第一行。相反,当我连接到一个S

接下来的第一个问题……我们刚刚开始使用Python 3.6。我正在创建一个表格数据的XML格式文档。文档对象本身有一个名为CellValues的集合。使用Dimensions(又名Unicom Intelligence),我可以将此集合作为记录集读取,并使用.movenext()等循环它。 但是,当我用Python阅读它时:

rs=tomdoc.tables["T0"].cellvalues()
for val in rs:
    print(val)
我只看到第一行。相反,当我连接到一个SqL数据库时,返回的对象是一个SQLrows类型并打印整个内容,但这个表示它是CDispatch。 我怎样才能让它循环播放或显示整个记录集?
为我的无知道歉并提前表示感谢:)

感谢一位同事,我现在有了一个工作流程。 事实上,集合需要以这种方式编制索引:

rs = tomdoc.Tables("T0").CellValues
然后可以像通常读取SQL类型记录集一样读取:

rs.MoveFirst()
while not rs.EOF:
    rowStr = ""
    for f in rs.Fields:
        rowStr += f.value + "\t"
    print(rowStr)
    rs.MoveNext()

我不知道为什么[“T0”]给了我第一行——这让我有点吃惊,让它看起来比实际情况更接近(在混合对象时遇到的快乐事情之一),所以我没有研究脚本这一部分的替代方案:(

请让我知道任何有帮助的进一步信息。您能解决这个问题吗?我想知道
val
对象或
rs
对象是否有默认属性值。您可以在rs.Fields中显式尝试
for val。