1. 程式人生 > >使用者登入介面(重點是python對excel檔案的讀寫操作)

使用者登入介面(重點是python對excel檔案的讀寫操作)

4 原始碼

加入excel的內容如下
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 11 16:55:44 2017

@author: grace
"""

import xlrd#匯入xlrd庫
from xlutils.copy import copy
#還差怎麼寫超過三次,使用者被鎖20170611
#20170612已經完成
read_excel=xlrd.open_workbook('user_sql.xls')#開啟excel檔案
sh=read_excel.sheet_by_name('Sheet1')#得到excel的sheet1的地址
row_Value_list=sh.row_values(0)#讀取excel第一行的值row_Value_list=[A,B,C]
user_name_list=[]#儲存從excel檔案裡讀取的使用者資訊
flag_cnt=0#標誌是否找到輸入的使用者名稱,為1說明找到,為0說明沒找到

#print(row_Value_list)
for i in range(0,5):#檔案總共有5行,第一行是檔案頭
    if i==0:#跳過第一行
        continue
    rowDict = {}
    row_Value=sh.row_values(i)#讀第i行的資料
    #print(row_Value)
    for j in range(0, len(row_Value)):
        rowDict[row_Value_list[j]] = row_Value[j]#rowDict={'a':5,'B':2,'C':2}
    user_name_list.append(rowDict)
    #print(rowDict)
#print(user_name_list)
user_name=input('請輸入你的使用者名稱:')
print(dict.values(user_name_list[0]))
l=len(user_name_list)#得到user_name_list的長度
#print(l)
for i in range(0,l):
    user_buffer_list=list(dict.values(user_name_list[i]))#不強制轉換會報錯
    #print(user_buffer_list)
   
    if user_name==user_buffer_list[0]:
        flag_cnt=1
        if user_buffer_list[2]=='N':
            print('請輸入密碼,你有三次機會,超過賬戶會被鎖')
            for cnt in range(0,3):
                
                password=int(input('enter a password:'))
                if password==user_buffer_list[1]:
                    print('歡迎進入天堂網站')
                    break
                else:
                    print('你還有%d次機會,之後賬戶會被鎖 '%(2-cnt))
                    if cnt==2:#還差怎麼往excel裡寫Y
                        #寫excel
                        rb1 = xlrd.open_workbook('user_sql.xls')
                         
                        wb1 = copy(rb1)
                         
                        #通過get_sheet()獲取的sheet有write()方法
                        ws1 = wb1.get_sheet(0)
                        ws1.write(i+1, 2, 'Y')
                        #ws1.write(i+1, 3, 'N')
                        wb1.save('user_sql.xls')
        else:
            print('sorry,your account is locked')
    
if flag_cnt==0:
    print('你輸入的賬戶不存在!')