小学生python游戏编程arcade----excel调用
2023-09-11 14:20:48 时间
小学生python游戏编程arcade----excel调用
前言
接上篇文章继续解绍arcade游戏编程的基本知识。游戏基本界面弄好,英语单词录入excel后调用问题,基本涉及到单词及语义的读取,随机打乱,显示问题,游戏中公共函数的调用及效果。
小学生python游戏编程arcade----excel调用
1、excel文件
1.1 excel表头
1.2 excel文件
1.3 文件读取函数
def get_data(filename, sheetnum):
# dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx'
dir_case = filename
data = xlrd.open_workbook(dir_case)
table = data.sheets()[sheetnum]
nor = table.nrows
nol = table.ncols
dict = {}
for i in range(1, nor):
for j in range(nol):
title = table.cell_value(0, j)
value = table.cell_value(i, j)
dict[title] = value
yield dict
1.4 打开excel文件读取数据,每行一个字典,再总存为序列
def run_select_school2(filename, sheet_index=0, table_header_row=0):
# 打开excel文件读取数据,每行一个字典,再总存为序列
data = xlrd.open_workbook(filename)
table = data.sheet_by_index(sheet_index)
nrows = table.nrows
nclos = table.ncols
# 获取表头行的信息,为一个字典
header_row_data = table.row_values(table_header_row)
# 将每行的信息放入一个字典,再将字典放入一个列表中
list = []
for rownum in range(1, nrows):
rowdata = table.row_values(rownum)
# 如果rowdata有值,
if rowdata:
dict = {}
for j in range(0, len(header_row_data)):
dict[header_row_data[j]] = rowdata[j]
list.append(dict)
return list
1.5 打开excel文件读取数据,取两列存为字典
def getwordzw(filename, sheet_index=0, danyuan=1,nianji='三年级上册'):
# 打开excel文件读取数据,取两列存为字典
data = xlrd.open_workbook(filename)
table = data.sheet_by_index(sheet_index)
nrows = table.nrows
# nclos = table.ncols
# 将每行的信息放入一个字典,再将字典放入一个列表中
dict = {}
for rownum in range(1, nrows):
# print(int(table.cell_value(rownum, 5)))
if table.cell_value(rownum, 5)== danyuan and table.cell_value(rownum, 6)==nianji:
# print('true')
dict[table.cell_value(rownum, 1).replace('\u200e', '')] = table.cell_value(rownum, 4).replace('\u200e', '')
return dict
1.6 游戏中提取单词
def setup_word(self, dy=1, year='三年级上册'):
self.word_dict = getwordzw(u'english.xls', sheet_index=3, danyuan=dy, nianji=year)
self.word_keys = list(self.word_dict.keys())
print(self.word_dict)
print(self.word_keys)
1.7 公共函数整体代码
# 公共函数
import random
import xlrd
def get_data(filename, sheetnum):
# dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx'
dir_case = filename
data = xlrd.open_workbook(dir_case)
table = data.sheets()[sheetnum]
nor = table.nrows
nol = table.ncols
dict = {}
for i in range(1, nor):
for j in range(nol):
title = table.cell_value(0, j)
value = table.cell_value(i, j)
dict[title] = value
yield dict
def run_select_school2(filename, sheet_index=0, table_header_row=0):
# 打开excel文件读取数据,每行一个字典,再总存为序列
data = xlrd.open_workbook(filename)
table = data.sheet_by_index(sheet_index)
nrows = table.nrows
nclos = table.ncols
# 获取表头行的信息,为一个字典
header_row_data = table.row_values(table_header_row)
# 将每行的信息放入一个字典,再将字典放入一个列表中
list = []
for rownum in range(1, nrows):
rowdata = table.row_values(rownum)
# 如果rowdata有值,
if rowdata:
dict = {}
for j in range(0, len(header_row_data)):
dict[header_row_data[j]] = rowdata[j]
list.append(dict)
return list
def getwordzw(filename, sheet_index=0, danyuan=1,nianji='三年级上册'):
# 打开excel文件读取数据,取两列存为字典
data = xlrd.open_workbook(filename)
table = data.sheet_by_index(sheet_index)
nrows = table.nrows
# nclos = table.ncols
# 将每行的信息放入一个字典,再将字典放入一个列表中
dict = {}
for rownum in range(1, nrows):
# print(int(table.cell_value(rownum, 5)))
if table.cell_value(rownum, 5)== danyuan and table.cell_value(rownum, 6)==nianji:
# print('true')
dict[table.cell_value(rownum, 1).replace('\u200e', '')] = table.cell_value(rownum, 4).replace('\u200e', '')
# print(int(table.cell_value(rownum, 5)))
# print(danyuan)
# print(table.cell_value(rownum, 1),table.cell_value(rownum, 5))
# if int(table.cell_value(rownum, 5))==1: #(table.cell_value(rownum, 3) != '短语') and
# dict[table.cell_value(rownum, 1).replace('\u200e','')] = table.cell_value(rownum, 4).replace('\u200e','')
return dict
if __name__ == '__main__':
wordarr = getwordzw(u'english.xls', sheet_index=3, danyuan=1,nianji='三年级上册')
print(len(wordarr))
print(wordarr)
# print(wordarr[1])
sizi = random.sample(wordarr.keys(), 5)
# dd = wordarr[sizi[2]]
print(sizi)
游戏效果
源码获取
可关注博主后,私聊博主免费获取
需要技术指导,育娃新思考,企业软件合作等更多服务请联系博主
今天是以此模板持续更新此育儿专栏的第 31/50次。
可以关注我,点赞我、评论我、收藏我啦。
相关文章
- Python 操作 Kafka --- kafka-python
- 解决python 提示 SyntaxError: Missing parentheses in call to 'print'
- Python VS VBA 读取Excel中的文本框组件
- Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"@"
- 【华为OD机试真题 python】 判断一组不等式是否满足约束并输出最大差【2022 Q4 | 100分】
- 104 python高级 - 内建函数
- 37 python - 文件读写
- 测试面试Python高频考点
- 推荐 8个Python“无代码”实用开发技能
- python处理excel函数xlrd、xlwt
- Python编程-Office操作-操作Excel(中)
- 《从Excel到Python——数据分析进阶指南》一第1章 生成数据表
- 踩坑记:5个让你放弃学Python的常见错误
- Python NVIDIA Isaac机器人平台开发教程之 01 什么是NVIDIA Isaac
- (数据科学学习手札125)在Python中操纵json数据的最佳方式
- (数据科学学习手札80)用Python编写小工具下载OSM路网数据
- 转 php python 知识点
- Python用户输入一个三位以上的整数,输出其百位以上的数字
- 《Python语言程序设计》——2.14 实例研究:计算距离
- python mssql数据库考至excel表格中
- python 调用打印机,打开excel并打印笔记
- 小学生python游戏编程arcade----单词对错检测及记录写入excel中
- Python用openpyxl读写Excel
- python接口测试(requests+excel)