2017-08-09 19 views
1

第一个问题即将开始......刚刚开始使用Python 3.6。我正在创建一个列表数据的XML格式文档。文档对象本身有一个名为CellValues的集合。使用尺寸(又名联通智能)我可以读这个集合作为一个记录集和循环圆其与.movenext()等 然而,当我读它在Python:读Python Python CDispatch对象只给出第一行

rs=tomdoc.tables["T0"].cellvalues() 
for val in rs: 
    print(val) 

我只看到第一行。相反,当我连接到一个SqL数据库时,返回的对象是一个SQLrows类型并打印整个事物,但是这个表示它是CDispatch。 我怎样才能让它循环或显示整个记录集? 道歉我的无知和感谢提前:)

+0

请让我知道任何进一步的信息,将有所帮助。 – KantarChris

+0

你能解决这个问题吗?我想知道'val'对象或'rs'对象是否有一些默认属性值。也许你可以明确尝试'在rs.Fields中使用val'。 –

回答

0

感谢一位同事,我现在有一个工作过程。 事实上收集需要进行索引是这样的:

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”]虽然给了我第一行 - 让我有点投入,并使它看起来比实际上更接近(混合对象时遇到的那些快乐事物之一),所以我没有研究脚本的这部分的替代方案:(