【多excel匹配合并成为一张excel表】

想做一个【多excel匹配合并成为一张excel表】的自动化功能,人工匹配耗时耗力。

先废话:

做运维的,居然被资源统计搞得头疼眼瞎的,也是日了狗了。遂搞了个这个,化两个人一下午都搞不完的东西为一小时之内,考虑到数据出来了还要修改啥的,1h足够了。ok,进入正题。

工具:Jupiter notebook

需要的包:pandas

以下为正文:

1、导包

import pandas as pd

2、读取表格:

df = pd.read_excel("虚拟机资源统计报表.xls",sheet_name='xx表')

df为主表,大多数字段(虚拟机名称、CPU利用率等)里面都有,缺少的字段(申请时间)在df_表.

df_表为补充表。我对补充表做了数据处理:将多个标签合并为一个,其时间由新->旧。。。。。。需要注意的是,当匹配多个结果,我选择查询到的第一个结果,即最新的结果

3、创建自己的表格mydf,用来保存最终结果

# 把需要的字段拿出来
mydf = pd.DataFrame(columns = ["虚拟机名称", "CPU配置(核)", "CPU使用率(%)", "子系统", "申请时间"]) 

4、把主表df能用的数据先考到最终表mydf中

mydf["虚拟机名称"]=df['虚拟机名称']
mydf["CPU配置(核)"]=df['CPU配置(核)']
mydf["CPU使用率(%)"]=df['CPU使用率(%)']
mydf["子系统"]=df['子系统']

5、合并表格

# 合并两张表,为主表缺少的字段“申请时间”字段赋值
for i in mydf["虚拟机名称"]:
    # a类型为Series,Series类型包括index和values两部分
    a=df_["虚机申请时间(必填)"][df_["虚机名称"] == i]
    b=a.values #返回一个多维数组numpy对象
    if(len(b)>0):
        mydf["申请时间"][mydf['虚拟机名称'] == i] = b[0]
    else:
        mydf["申请时间"][mydf['虚拟机名称'] == i] = "" #没查到的都置空

6、数据导出

mydf.to_excel("mydf.xls") #导出数据到Excel文件

7、结果很惊喜~

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件介绍: 两个Excel匹配合并Excel文件信息匹配软件使用说明软件功能本软件能实现两个excel文件之间整条数据按某一个列进行匹配,并将匹配成功的行数据合并为一整行,之后输出到新的excel中。(匹配的源文件中,未匹配成功的行也会输出到新的excel中)。例如:A数据内容  姓名 工号 年龄    张三 9001 23    李四 9002 45  B数据内容 姓名 性别 学历    张三 男 本科生    王丽 女 研究生  以A的作为匹配的源文件,A第一列作为匹配内容;B作为搜索的文件,B第一列作为匹配内容,匹配结果为新数据内容姓名 工号 年龄 姓名 性别 学历    张三 9001 23 张三 男 本科生    李四 9002 45     软件使用指南指定需要进行匹配excel格。需要在软件的根目录里,对“excel匹配设置.txt”进行修改(如没有此文件,请自行创建,文件名必须保持一致)。“excel匹配设置.txt”包含四行内容,如软件中的示例:各行的含义如下:第一行:匹配excel源文件的绝对路径(如果文件在本软件根目录下,请直接输入文件名称即可)。第二行:源文件里需要进行匹配的列数。第三行:被搜索的excel文件的绝对路径(如果文件在本软件根目录下,请直接输入文件名称即可)。第四行:被搜索文件中进行匹配的列数。按上文的文本框内的配置,软件将会依照根目录中《拟录取名单》中第2列的内容,在根目录中《硕士生复试名单》的第一列搜索匹配(相同)的数据,并将《硕士生复试名单》中匹配成功的整行数据复制到《拟录取名单》相应行的末尾空白处,之后输出到一个新的excel文件里(文件在软件的根目录中)。建议在使用时候,将文件都拷贝到软件的根目录进行操作。双击运行“run.bat”文件如果系统提示无法运行,请右键点击“run.bat”文件,选择“以管理员身份运行”。特别提醒本软件只支持对xls格式的excel文件进行匹配,无法匹配xlsx格式的excel文件,请在进行匹配之前,自行做好格式转换。在输出新的excel文件以后,打开时可能会报错(如下图),此为您使用的excel软件版本较新,与旧版本(xls格式)不太兼容,并不意味着数据丢失,请在文件打开以后,另存为其他文件即可。本人开发此工具仅为了便于个人使用,允许一切人员对其进行使用。虽然在个人使用过程中没有出现数据匹配不准确的问题,但本人不对数据合并后的准确性做任何的保证。在使用本软件时候,请对需要进行匹配excel文件进行备份。如果数据丢失、覆写或误删,本人不承担任何责任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值