利用Pandas读取表格行数据判断是否相同的方法
作者:风哥博客 发布时间:2022-07-30 22:10:20
标签:pandas,读取,表格
描述:
下午快下班的时候公司供应链部门的同事跑过来问我能不能以程序的方法帮他解决一些excel表格每周都需要手工重复做的事情,Excel 是数据处理最常用的办公工具对于市场、运营都应该很熟练。哈哈,然而程序员是不怎么会用excel的。下面给大家介绍一下pandas, Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
具体需求:
找出相同的数字,把与数字对应的英文字母合并在一起。
期望最终生成值:
TAOCGQ I 1
TAOCGQ WY 2
TAOCGQ BHLPQGRN 3
TAOCGQ VUE 4
TAOCGQ Z 5
代码实现:
import pandas as pd
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']
for data in data_lists:
for number in range(0,20):
''' 循环航线信息取出列表的索引id'''
idxs = [i for i, x in enumerate(data) if x == number]
if idxs: #索引列表
news_data_list = []
for idx in idxs: #循环索引列表
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']
总结
来源:https://www.guji.work/?p=227
0
投稿
猜你喜欢
- 序列化模块import pickle序列化和反序列化把不能直接存储的数据变得可存储,这个过程叫做序列化。把文件中的数据拿出来,回复称原来的数
- 在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url
- 目录1 Python变量概述2 Python变量的命名3 Python变量赋值3.1 Python赋值概述3.2 Python变量的基本格式
- PHP如何获取当前页完整URL及其参数 <? echo 'http://'.$_SERVER[&
- 一段重用很高的ajax代码,可以套用 <!DOCTYPE HTML
- Go 语言教程Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer,
- 一、创建生成器通过列表⽣成式,我们可以直接创建⼀个列表。但是,受到内存限制,列表容量肯定是有限的。⽽且,创建⼀个包含100万个元素的列表,不
- 1.首先读取Excel文件数据代表了各个城市店铺的装修和配置费用,要统计出装修和配置项的总费用并进行加和计算;2.pandas实现过程imp
- 上文中,我们一起学习了手把手教你实现一个 Python 计时器。本文中,云朵君将和大家一起了解什么是上下文管理器 和 Python
- 【简介】django-admin.py是Django的一个用于管理任务的命令行工具。本文将描述它的大概用法。另外,在每一个Django pr
- 根据"客服果果"的"十几行的超简日历组件"http://bbs.51js.com/viewthrea
- 算法简介SOM网络是一种竞争学习型的无监督神经网络,将高维空间中相似的样本点映射到网络输出层中的邻近神经元。训练过程简述:在接收到训练样本后
- 本文主要介绍了python 边缘扩充方式的实现示例,具体如下:import cv2# big_pad=True:当目标图像高和宽均大于原图时
- 前言本篇文章主要讲述了Mac下Redis的安装和使用的经验,并将python如何操作Redis做了简单介绍。1. redis 安装 和启动1
- 是不是很烦每次注册网站或填写相关资料时都要重来一遍?其实会有很多自动填写工具能代劳。比如使用 Mac, 在 Safari 的表单中,它可以足
- 一、前言三年.net开发转前端已经四个月了,前端主要用webpack+vue,由于后端转过来的,前端不够系统,希望分享下开发心得与园友一起学
- 1.文件结构MySQLdb和pymysql的使用差不多阅读的小伙伴可以自己尝试实现2.实验效果3.主文件:main.pyimport MyS
- python+selenium编写实现爬虫过程:1.爬虫循环处理table表,2.table表分页处理,3.网页table所有内容循环处理4
- 能够为数据库数据提供的最简单的用户界面之一就是窗体,窗体可以一次性呈现出来自同一记录的各个域。本文通过python3+pyqt5改写实现了p
- 一.values()1.values()结果是什么?官方文档说明:https://docs.djangoproject.com/en/2.1