利用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']

总结

到此这篇关于利用Pandas读取表格行数据判断是否相同的文章就介绍到这了,更多相关Pandas读取表格行数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用pandas读取表格数据并进行单行数据拼接的详细教程

    业务需求 一个几十万条数据的Excel表格,现在需要拼接其中某一列的全部数据为一个字符串,例如下面简短的几行表格数据: id code price num 11 22 33 44 22 33 44 55 33 44 55 66 44 55 66 77 55 66 77 88 66 77 88 99 现在需要将code的这一列用逗号,拼接为字符串,并且每个单元格数据都用单引号包含,需要拼接成字符串'22','33','44','55','66','77',这样的情况,我们需要怎么处理呢?当然方式有

  • 使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法

    如下所示: # coding=utf-8 import pandas as pd # 读取csv文件 3列取名为 name,sex,births,后面参数格式为names= names1880 = pd.read_csv("names_1880.txt", names=['name', 'sex', 'births']) print names1880 print names1880.groupby('sex').births.sum() 输出如下 最后一行是说按sex分组并计算bir

  • 解决python pandas读取excel中多个不同sheet表格存在的问题

    摘要:不同方法读取excel中的多个不同sheet表格性能比较 # 方法1 def read_excel(path): df=pd.read_excel(path,None) print(df.keys()) # for k,v in df.items(): # print(k) # print(v) # print(type(v)) return df # 方法2 def read_excel1(path): data_xls = pd.ExcelFile(path) print(data_x

  • python Pandas 读取txt表格的实例

    运行环境 Python 2.7 操作实例 1.原始文本格式:空格分隔的txt,例如 2016-03-22 00:06:24.4463094 中文测试字符 2016-03-22 00:06:32.4565680 需要编辑encoding 2016-03-22 00:06:32.6835965 abc 2016-03-22 00:06:32.8041945 egb 2.pandas 读取数据 import pandas as pd data = pd.read_table('Z:/test.txt'

  • 利用Pandas读取表格行数据判断是否相同的方法

    描述: 下午快下班的时候公司供应链部门的同事跑过来问我能不能以程序的方法帮他解决一些excel表格每周都需要手工重复做的事情,Excel 是数据处理最常用的办公工具对于市场.运营都应该很熟练.哈哈,然而程序员是不怎么会用excel的.下面给大家介绍一下pandas,  Pandas是一个强大的分析结构化数据的工具集:它的使用基础是Numpy(提供高性能的矩阵运算):用于数据挖掘和数据分析,同时也提供数据清洗功能. 具体需求: 找出相同的数字,把与数字对应的英文字母合并在一起. 期望最终生成值:

  • pandas读取csv格式数据时header参数设置方法

    目录 写在前面 参考文档 read_csv的header参数 header参数测试 思考 写在前面 使用pandas中read_csv读取csv数据时,对于有表头的数据,将header设置为空(None),会报错:pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2,

  • 利用Pandas读取某列某行数据之loc和iloc用法总结

    目录 1.loc方法 2.iloc方法 补充:利用loc.iloc提取所有数据 总结 实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc. loc:通过行.列的名称或标签来索引 iloc:通过行.列的索引位置来寻找数据 首先,我们先创建一个Dataframe,生成数据,用于下面的演示 import pandas as pd import numpy as np # 生成DataFrame data = pd.DataFrame(np.ar

  • Python如何利用pandas读取csv数据并绘图

    目录 如何利用pandas读取csv数据并绘图 绘制图像 展示结果 pandas画pearson相关系数热力图 pearson相关系数计算函数 如何利用pandas读取csv数据并绘图 导包,常用的numpy和pandas,绘图模块matplotlib, import matplotlib.pyplot as plt import pandas as pd import numpy as np fig = plt.figure() ax = fig.add_subplot(111) 读取csv文

  • 利用pandas读取中文数据集的方法

    直接利用numpy读取非数字型的数据集时需要先进行转换,而且python3在处理中文数据方面确实比较蛋疼.最近在学习周志华老师的那本西瓜书,需要没事和一堆西瓜反复较劲,之前进行联系的时候都是利用批量替换先清理一遍数据,不过这样实在是太麻烦了,今天偶然发现可以使用pandas来实现读取中文数据集的功能. 首先分享一下数据集: 编号,色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率,好瓜 1,青绿,蜷缩,浊响,清晰,凹陷,硬滑,0.697,0.46,是 2,乌黑,蜷缩,沉闷,清晰,凹陷,硬滑,0.7

  • 利用Pandas读取文件路径或文件名称包含中文的csv文件方法

    利用Pandas的read_csv函数导入数据文件时,若文件路径或文件名包含中文,会报错,无法导入: import pandas as pd df=pd.read_csv('E:/学习相关/Python/数据样例/用户侧数据/账单.csv') 解决方法如下: import pandas as pd f=open('E:/学习相关/Python/数据样例/用户侧数据/账单.csv') df=pd.read_csv(f) 以上这篇利用Pandas读取文件路径或文件名称包含中文的csv文件方法就是小编

  • 在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法

    在Winform开发的时候,我们很多时候可以利用表格控件来直接录入数据,不过在Web上较少看到,其实也可以利用dataTable对象处理直接录入表格行数据,这个可以提高数据的录入方便,特别是在一些简单业务的明细数据的时候,看起来会比弹出窗口录入方便一些,也高大上一点.本篇主要介绍在Bootstrap开发框架中使用dataTable直接录入表格行数据. 1.基于表格直接录入数据和Winform的界面回顾 在开始Web界面直接录入表格行数据前,我们先来看看Winform界面的处理情况,如我在流程管理

  • 利用Pandas来清除重复数据的实现方法

    一.前言 最近刚好在练手一个数据挖掘的项目,众所周知,数据挖掘中比较重要的一步为数据清洗,而对重复数据的处理也是数据清洗中经常碰到的一项.本文将仅介绍如何利用Pandas来清除重复数据(主要指重复行),话不多说请看下文. 二.具体介绍 2.1. 导入Pandas库 pandas是python的核心数据分析库,你可以把它理解为python版的excel,倘若你还没有安装相应的库,请查询相关教程进行安装,导入pandas的代码为: import pandas as pd 2.2. DataFrame

  • Java如何利用POI读取Excel行数

    这篇文章主要介绍了java如何利用POI读取Execel行数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java 利用poi 读excel文件的操作,读取总的数据行数一般是通过调用 sheet.getLastRowNum() ;可是这样有时候会出现一些问题,例如,当其中一行的数据的确都为空,可是其原本的格式还在,并没有连带删除,这样计算出来的行数就不真实(比真实的大),还有当出现空白行时(也即某一行没有任何数据,通过Row row = sh

随机推荐