Python excelテーブルの読み書き方法2


目的:pythonの別の方法でexcelの読み取り、新規操作を実現する.
環境:ubuntu 16.04 Python 3.5.2
シナリオ:以前はexcelファイルを操作する方法(プライベートチェーン)を紹介していましたが、現在は別の方法でexcelファイルを読み書きし、一度に読み書きしたり、読み書きしたりするのが便利で、2次元配列のように秩序ある辞書として読み出すには、3つのサードパーティモジュール、pyexcel-io、pyexcel-xls、xlrdを使用する必要があります.主にpyexcel-xlsとcollectionsを導入し、pyexcel-xlsはxlrdとpyexcel-ioに基づいています.したがってxlsとxlsxをサポートします.
表の読み込み:
読み込みにはpyexcel-xlsモジュールとcollectionsモジュールをインポートする必要があります.
from collections import OrderedDict
from pyexcel_xls import get_data

# open xlsx
def read_xls():
    _xls_data = get_data(r'abc.xlsx')
    for n in _xls_data.keys():
        print('%s is %s' % (n, _xls_data[n]))
    print(_xls_data)


if __name__ == '__main__':
    read_xls()

このモジュールはテーブル全体をOrderedDict(秩序辞書)に変換し、各keyはそのサブテーブル名であり、value値はテーブルの内容であり、2次元配列に似た2層リストで表示されます.
テーブルの書き込みはxlwtに基づいており、xlsxフォーマットもサポートされていません.
表の書き込み:
from collections import OrderedDict
from pyexcel_xls import save_data


# save xls file
def save_xls():
    _data = OrderedDict()
    _table = []
    _row_1 = ['ID', 'NAME', 'LEVEL', 'money']
    _row_2 = ['3', 'red', '5', '3000']
    _table.append(_row_1)
    _table.append(_row_2)
    _data.update({'test':_table})
    save_data('abb.xls', _data)


if __name__ == '__main__':
    save_xls()

データの一括書き込みや一括読み取りの場合、この方法で便利で、的確な処理であれば、方法1(プライベートチェーン)を使用することができます.