实例介绍
【实例简介】
可对txt文本、excel表格数据中存放的用户数据进行读取,并随机的账号
【实例截图】
【核心代码】
import random import codecs import os import xlrd #清除屏幕 def clear():os.system('cls') #读取Excel数据 def readExcel(filename): try: book = xlrd.open_workbook(filename) # 打开Excel sheet = book.sheet_by_index(0) # 根据编号获取sheet页 print("正在处理excel数据。。。") print("已加载数据", sheet.nrows, "条") list = [] for i in range(sheet.nrows): # 循环获取每行的内容 list.append(sheet.row_values(i)) #print(list) except IOError: print("文件读取错误,请检查文件路径是否存在") return [] else: return list # sheet=book.sheet_by_name('sheet1') #也可以根据sheet页名字获取sheet页 # print(sheet.nrows) # Excel里有多少行 # print(sheet.ncols) # Excel里有多少列 # # print(sheet.cell(0, 0).value) # 获取到指定单元格的内容 # print(sheet.cell(0, 1).value) # 获取到指定单元格的内容 # # print(sheet.row_values(0)) # 获取到整行的内容 # print(sheet.col_values(0)) # 获取到整列的内容 #读取 def readData(filename): try: extName=os.path.splitext(filename)[1] #print(extName) # 获取文件拓展名1 if (extName==".txt" or extName==""): list=readTxt(filename) elif (extName==".xls" or extName==".xlsx"): list=readExcel(filename) else: list=[] except Exception: print("请检查文件是否存在") return [] else: return list #读文本文件 def readTxt(filename): try: f = codecs.open(filename, "r",encoding='utf-8') list=f.readlines() #print(list) print("正在处理text数据。。。") print("已加载" str(len(list)) "条数据") except IOError: print("文件读取错误,请检查文件路径是否存在") return [] else: f.close() return list #随机选择 def randomSelect(list): try: #print(list) rand=random.randint(0,len(list)-1) print("当前随机抽取号码:\033[1;31;0m\t",str(rand 1),"号\033[0m") #print(list[0]) #a1001 print(" \n") if (typeof(list[rand])=="list"): mp=map(str,list[rand])#把子列表加入映射 #print('\033[1;35;0m字体变色,但无背景色 \033[0m') # 有高亮 或者 print('\033[1;35m字体有色,但无背景色 \033[0m') print("\033[1;31;0m\t",(rand 1)," 号信息:"," ".join(mp),"\033[0m")#转换后1输出 else: print("\033[1;31;0m\t", (rand 1), " 号信息:",list[rand],"\033[0m") print(" \n") except Exception: print("数据越界,请重新抽号") def menu(): choice = "0" while choice != "3": print("\t*************************************") print("\t* *") print("\t* 人员随机抽号程序 *") print("\t* *") print("\t* 1,加载数据 *") print("\t* 2,随机抽号 *") print("\t* 3,退出 *") print("\t* *") print("\t*************************************") choice = input("请选择菜单(1-3):") print("\n") if choice == "1": print("正在检查数据。。。") filename=input("请输入数据文件名称(默认data.xlsx):") if len(filename)<1: filename="data.xlsx" list=readData(filename) elif choice == "2": print("正在随机抽号。。。") randomSelect(list) elif choice == "3": print("将退出程序") else: print("选择不当,请重新选择菜单!") input("按任意键,继续操作") clear() #判断数据类型 def typeof(variate): type=None if isinstance(variate,int): type = "int" elif isinstance(variate,str): type = "str" elif isinstance(variate,float): type = "float" elif isinstance(variate,list): type = "list" elif isinstance(variate,tuple): type = "tuple" elif isinstance(variate,dict): type = "dict" elif isinstance(variate,set): type = "set" return type if __name__=='__main__': menu() print("程序运行结束")
标签: 抽号 程序 python
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论