利用Pandas读取表格行数据判断是否相同的方法
描述:
下午快下班的时候公司供应链部门的同事跑过来问我能不能以程序的方法帮他解决一些excel表格每周都需要手工重复做的事情,Excel是数据处理最常用的办公工具对于市场、运营都应该很熟练。哈哈,然而程序员是不怎么会用excel的。下面给大家介绍一下pandas, Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
具体需求:
找出相同的数字,把与数字对应的英文字母合并在一起。
期望最终生成值:
TAOCGQ I1
TAOCGQ WY2
TAOCGQ BHLPQGRN 3
TAOCGQ VUE4
TAOCGQ Z5
代码实现:
importpandasaspd
df=pd.read_excel(r'E:\代码\tables_results\价格表.xlsx')
pd_result=df.to_dict(orient='split')
'''舱位信息列表['航线','W','I','Y','B','H','L','P','Q','G','V','U','Z','R','N','E','K']'''
cabin_list=pd_result['columns']
'''航线信息及价格列表[['LHW-ZUH',2.0,0.0,2.0,2.0,2.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0,2.0,2.0,2.0,0]]'''
data_lists=pd_result['data']
fordataindata_lists:
fornumberinrange(0,20):
'''循环航线信息取出列表的索引id'''
idxs=[ifori,xinenumerate(data)ifx==number]
ifidxs:#索引列表
news_data_list=[]
foridxinidxs:#循环索引列表
news_data_list.append(cabin_list[idx])
cabin_merge=''.join(news_data_list)#将多个舱位合并
aviation_rebate=idxs[0]#取出返点价格,因为有多个索引,只取第一个就行
air_route=str(data[0]).split('-')#航线LHW-ZUH
dpt=air_route[0]#出发城市
arr=air_route[1]#到达城市
result=dpt+arr+','+cabin_merge+','+str(int(data[aviation_rebate]))
'''
最终结果:
['LHWZUH','IK','0']
['LHWZUH','WYBHRNE','2']
['LHWZUH','LPQGVUZ','3']
['ZUHLHW','IK','0']
'''
print(result.split(','))
程序执行结果:
['TAOCGQ','I','1']
['TAOCGQ','WY','2']
['TAOCGQ','BHLPQGRN','3']
['TAOCGQ','VUE','4']
['TAOCGQ','Z','5']
总结
到此这篇关于利用Pandas读取表格行数据判断是否相同的文章就介绍到这了,更多相关Pandas读取表格行数据内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。