2017-08-09 16 views
1

最初の質問が出ています... Python 3.6を使い始めました。私は、表形式のデータのXML形式の文書を作成しています。ドキュメントオブジェクト自体には、CellValuesというコレクションがあります。私はPythonでそれを読んだときしかし、外形寸法(別名ユニコムインテリジェンス)私は(.movenextと一緒にラウンドレコードセットとループとしてこのコレクションを読み取ることができる)など を使用すると:PythonのCDispatchオブジェクトを読むと、最初の行だけが返されます

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

私は、最初の行のみを参照してください。対照的に、私がSqLデータベースに接続すると、返されるオブジェクトはSQLrows型であり、すべてを印刷しますが、これはCDispatchです。 どのようにループラウンドするか、レコードセット全体を表示する方法はありますか? 私の無知と感謝の謝罪を前もって:)

+0

さらに詳しい情報があれば教えてください。 – KantarChris

+0

これを解決できましたか?私は、 'val'オブジェクトまたは' rs'オブジェクトのデフォルトのプロパティ値があるかもしれないかどうか疑問に思っています。あなたは明示的に 'val in rs.Fields'を試みることができます。 –

答えて

0

私は今働いているプロセスを持っています。 実際にコレクションをこのようにインデックスを作成する必要があります

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

私がなぜわからない:

rs = tomdoc.Tables("T0").CellValues 

1は、通常のSQL型レコードセットを読んでいましたとして次にそれを読み取ることができます["T0"]は私に最初の行を与えました - それは私を幾分か投げて、それが実際よりも近くに見えるようにしました(オブジェクトを混ぜるときに遭遇する愉快な物の1つです)ので、私はスクリプトのその部分:

関連する問題