3

一部の Python xlsx リーダーが登場していることは知っていますが、私が見たところ、組み込みcsvモジュールほど直感的ではないようです。

私が欲しいのは、次のようなことができるモジュールです:

reader = xlsx.reader(open('/path/to/file'))

for sheet in reader:
    print 'In %s we have the following employees:' % (sheet.name)
    for row in sheet:
        print '%s, %s years old' % (row['Employee'], row['Age'])

そんな読者いる?

4

2 に答える 2

4

xlrd には、現在アルファ テストで、xls と同じ API を使用して、基本的なデータ抽出のための xlsx 処理があります。興味があればプライベートメールを送ってください。

于 2010-07-06T22:41:38.817 に答える
2

まあ、おそらく xlsx 形式ではなく、確かに xls 用です。ここから xlrd を取得します。

http://www.python-excel.org/

以下は、操作がいかに簡単かを理解するためのコード例です。

import xlrd

EMPLOYEE_CELL = 5
AGE_CELL = 6

reader = xlrd.open_workbook('C:\\path\\to\\excel_file.xls')
for sheet in reader.sheets():
    print 'In %s we have the following employees:' % (sheet.name)
    for r in xrange(sheet.nrows):
        row_cells = sheet.row(r)
        print '%s, %s years old' % (row_cells[EMPLOYEE_CELL].value, row_cells[AGE_CELL].value)

ドキュメントをxls形式で保存できれば大丈夫です。上記のコードは試していませんが、100% 正しいとは言えませんが、かなり近いものです。それを試して、私に知らせてください。

編集:

Windows以外のマシンでこれを実行しようとしていると思います。PyODConverter などを使用してドキュメントを xlsx から xls に変換し、変換されたファイルに対して実行できる場合があります。このようなもの:

user@server:~# python DocumentConverter.py excel_file.xlxs excel_file.xls user@server:~# python script_with_code_above.py

繰り返しますが、テストしていませんが、うまくいけばあなたのニーズに合うでしょう。

于 2010-07-06T18:56:26.620 に答える