Python-编写Python脚本处理Excel事件列表生成iOS代码

前言

公司的项目,需要对项目中事件上报进行重新处理和封装,方便调用和自动上报!自己花了半天时间全部封装搞好,如下图:

其中ASLogsEventName类是存放约定好的事件字段的,但是APP中有四百个事件上报的点,要是一个一个手写上去,估计手要残了,事件Excel列表如下图:

所以肯定不能手写啦😏😉😉

自动化脚本

这里我使用Python脚本,自动读取Excel表格,然后生成iOS的代码,这样就简单的多了!🤗

使用了Python的xlrd库,安装命名如下:

pip3 install xlrd

话不多说上代码如下:

import xlrd

# 过滤了不需要记录的表
_ignore_list = ['更新记录', 'App页面', '公共属性']
# 事件名列表
_event_name_list = []

# 读取excel
def read_excel_table(file_path):
	global _tables, _ignore_list
	data = xlrd.open_workbook(file_path)
	for table_name in data.sheet_names():
		if table_name not in _ignore_list:
			table = data.sheet_by_name(table_name)
			analysis_one_table(table, table_name)

# 分析每个表
def analysis_one_table(table, table_name):
	nrows = table.nrows
	ncols = table.ncols
	# 从1开始 不包括第一行标题
	sign = False
	for row in range(1, table.nrows):
		row_values = table.row_values(row)

		if '{' in str(row_values):
			sign = True

		if sign == False:
			analysis_every_row(row_values, table_name)
		
		if '}' in str(row_values):
			sign = False

# 分析每一行
def analysis_every_row(row_values, table_name):
	global _event_name_list
	event_name = row_values[1]
	if '(' in event_name:
		event_name = event_name[:event_name.find('(')]
	if '(' in event_name:
		event_name = event_name[:event_name.find('(')]
	event_name = ''.join(event_name.split())
	event_name = event_name.replace('.', '_')
	event_name = event_name.replace('、', '_')

	if len(event_name) > 0 and event_name not in _event_name_list:
		_event_name_list.append(event_name)
	
		if table_name == '听故事埋点':
			notes = row_values[2] + '==' + row_values[3]
		else:
			notes = row_values[0] + '==' + row_values[2]

		notes = notes.replace('\n', ' ')
		notes = ''.join(notes.split())
		notes = notes.replace('==', ' ')
		if notes.startswith(' '):
			notes = notes[1:]

		pro_str = '/// ' + notes + '\n'

		# .h的代码
		# pro_str += 'FOUNDATION_EXPORT NSString *const K'+ event_name +';'

		# .m的代码
		pro_str += 'NSString *const K'+ event_name +' = @"'+ event_name +'";'

		print(pro_str)
		print('\n')


if __name__ == '__main__':
	file_path = 'ahaschoolAppEvent.xlsx'
	read_excel_table(file_path)





这样就能自动生成iOS代码了😘注释也自动加上了

 

 

 

 

展开阅读全文

实用主义学Python(小白也容易上手的Python实用案例)

12-24
原价169,限时立减100元! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会  【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例
©️2020 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值