Python编程--实现用户注册信息写入excel文件

操作系统:mac OS Monterey

IDE: Pycharm

要求:

用户注册,将用户信息写入Excel,其中包含:用户名、密码、注册时间 三列。

实现代码如下:

"""
用户注册,将用户信息写入Excel,其中包含:用户名、密码、注册时间 三列。
"""

import os
import hashlib
from datetime import datetime

from openpyxl import load_workbook
from openpyxl import workbook

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
FILE_NAME = "UserInfo.xlsx"


# 定义加密函数,对密码进行加密, 参数为用户密码
def md5(origin):
    hash_object = hashlib.md5()
    hash_object.update(origin.encode('utf-8'))
    return hash_object.hexdigest()
 

# 定义注册信息函数,参数为用户名, 密码
def register(username, password):
    db_file_path = os.path.join(BASE_DIR, FILE_NAME)
    if os.path.exists(db_file_path):
        wb = load_workbook(db_file_path)
        sheet = wb.worksheets[0]
        next_row_position = sheet.max_row + 1
    else:
        wb = workbook.Workbook()
        sheet = wb.worksheets[0]
        sheet.title = '用户注册信息表'
        sheet.cell(1, 1).value = '用户名'
        sheet.cell(1, 2).value = '密码'
        sheet.cell(1, 3).value = '注册时间'
        next_row_position = 2

    user = sheet.cell(next_row_position, 1)
    user.value = username

    pwd = sheet.cell(next_row_position, 2)
    pwd.value = md5(password)

    ctime = sheet.cell(next_row_position, 3)
    ctime.value = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    wb.save(db_file_path)


def run():
    while True:
        username = input("请输入用户名:")
        if username.upper() == "Q":
            break
        password = input("请输入密码:")
        register(username, password)


if __name__ == '__main__':
    run()