1

こんにちは、私はちょうど xlrd を拾っています。シートとセル プロパティへのアクセスについては、Xlrd 列を参照しています。

そこからのコードが表示されます。

for crange in thesheet.col_label_ranges:
    rlo, rhi, clo, chi = crange
    for rx in xrange(rlo, rhi):
        for cx in xrange(clo, chi):
            print "Column label at (rowx=%d, colx=%d) is %r" \
                (rx, cx, thesheet.cell_value(rx, cx))

だから私はシート「データ」からセルA1を印刷してみようと思ったので、上記の例をコピーし始めました。

完了すると、col_label_ranges でエラーが発生します。

inBook = xlrd.open_workbook('T:/AzReporting/DraftUtilization.xls')
outBook = xlutils.copy.copy(inBook)
for crange in outBook.col_label_ranges:
    rlo, rhi, clo, chi = crange
    for rx in xrange(rlo, rhi):
        for cx in xrange(clo, chi):
            print "Column label at (rowx=%d, colx=%d) is %r" \
            (rx, cx, outBook.cell_value(0, 0))

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
AttributeError: 'Workbook' object has no attribute 'col_label_ranges'

また、col_label_names をワークシート名に変更すると、エラーになります。この例では何かが欠けているに違いありません。たぶん、従うべきより良いチュートリアルがありますか?

for crange in outBook.Data:
4

1 に答える 1

1

Excelファイルを読み書きしていますか?xlrd は Excel ファイルの読み取り用、xlwt は書き込み用です。

間の中間ステップが欠落していると思います

           inBook = xlrd.open_workbook('T:/AzReporting/DraftUtilization.xls')

           for crange in outBook.col_label_ranges:

エクセルファイルのシートを指定する必要があります

例にも「thesheet」というラベルが付いています

私は変更を推測します

           for crange in outBook.col_label_ranges:

           sh=inBook.sheet_by_index(0)
           for crange in sh.col_label_ranges:

http://www.numbergrinder.com/2008/10/pulling-data-from-excel-using-python-xlrd/

于 2012-07-30T04:39:47.670 に答える