Python Excelテーブル(xlsxファイル)を簡単に読み込む

1588 ワード

昨日一人のお姉さんは、私にExcelができるかどうかを聞いて、独身の犬として、きっと私がExcelの小菜鳥だと答えません.
Excelの中の関数はできませんが、私は大きな方法を検索して、openpyxlモジュールを見て、お姉さんの要求は簡単で、2つのSheetの中で同じ結果を比較します.
深さスクリーンショット_20180113112717.png
深さスクリーンショット_20180113112758.png
書かれたコードは次のようになります.
#!/usr/bin/env python
# encoding: utf-8


from openpyxl import load_workbook


def mian():
    wb = load_workbook(filename='./zj.xlsx')
    ws_one = wb.get_sheet_by_name('Sheet1')
    ws_two = wb.get_sheet_by_name('Sheet2')
    result = set()

    for i in range(1,ws_one.max_row+1):
        sheet_one_order_num = ws_one.cell(row=i,column=1).value
        if sheet_one_order_num:
            for j in range(1,ws_two.max_row+1):
                for k in range(1,6):
                    sheet_two_order= ws_two.cell(row=j, column=k).value

                    if(sheet_two_order and sheet_two_order in sheet_one_order_num ):
                        log(one = i,two = j,three=k,order=sheet_one_order_num)
                        result.add(sheet_one_order_num)



    print_to_text('    {} ,  '.format(len(result)))
    print_to_text(result.__str__())


def log(one, two, three,order):
    print_to_text('   sheet  {one}     sheet  {two}  {three} ---->{order}'.format(one=one, two=two, three=three, order=order))


def print_to_text(log):
    print(log)
    with open('result.txt','a+') as f:
        f.write(log+'
') if __name__ == '__main__': mian()

結果:
深さスクリーンショット_20180113113617.png
お姉さんが身をもって承諾することができるかどうか分からないで、ハハハハハハ