Python自动化整理Excel 表格

相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格的自动化整理。

首先我们有这么一份数据表 source.csv:

我们要做的是从上表中提取数据,来生成一份符合以下要求的表格:

  1. 按照以下分组名单 group.xls 来整理数据表中的数据:

  1. 最终要展现的数据项:

  1. 其中“K数据/60”为数据表中的“数据K”/60后保留的2位小数


我们先看手工 Excel 如何处理以上需求:要在 source.csv 数据表中读取读取每条数据,放入 group.xls 匹配的分组成员中,最后筛选需要的数据项,再对特定的 “数据K”进行运算处理。

那么 Python 又将如何操作呢?这里我们要用到功能强大的 pandas 库。

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。 pandas 百度百科

首先导入 pandas 库,通过相关的函数读取 csv 和 xls 表格内容:


在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
import pandas as pd
# 读取 group.xls 分组信息
group = pd.read_excel("group.xls",header=None)
group.columns=["分组","角色"]
print(group)
# 读取 source.csv 获取所有成员数据
source = pd.read_csv("source.csv")
print(source)

我们可以首先对 source.csv 中的数据项进行筛选,需要的数据项有“角色”、“编号”、“数据B”、“数据C”、“数据D”和“数据K”:


# 通过 iloc[:,[列坐标]] 来定位需要的各列数据
filter_merge = source.iloc[:,[0,2,4,5,6,13]]
print(filter_merge)

接下来是根据分组角色来匹配角色数据,注意到 group.xls 和 source.csv 共有“角色”一项,我们可以通过此项将两个表格融合从而形成匹配填充的效果。


combine = pd.merge(group,filter_merge,on="角色")

接下来我们在第二列插入运算后的“数据K/60”:


combine.insert(1,"数据K/60",round(filter_merge["数据K"]/60,2))

最终,我们将生成的数据格式写入新的 xlsx 表格中:


combine.to_excel(excel_writer="result.xlsx",index=False)

最终自动生成的表格如下:



以上便是 Excel 表格整理的 Python 代码简单实现

原文地址:https://blog.51cto.com/14510224/2438667

时间: 2024-11-03 21:04:00

Python自动化整理Excel 表格的相关文章

1.2 python(处理excel表格)

1.处理excel表格 问题描述:图中的excel表格价格有误,需要将价格打9折:同时制一张图(当有多个excel表时,用python处理较快) import openpyxl as xl from openpyxl.chart import BarChart, Reference def process_workbook(filename):#定义一个函数便于处理多个excel文件 wb = xl.load_workbook(filename) sheet = wb['Sheet1'] for

Python学习—对excel表格的操作

安装对excel操作的模块:openpyxl 1.excel中的基本定义 工作簿(workbook):整个excel表哥文件称为一个工作簿 工作表(sheet):一个工作簿中有多个工作表 活动表(active sheet):保存文件时候停留在那个表,那个表就被称为活动表 行(row): 1,2,3,4,5,6........ 列(column): A,B,C,D...... 单元格(cell): B1,C1,C5...... 例子1 import openpyxl #打开一个excel文档 wb

python自动化之excel

import openpyxl wb=openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\sl.xlsx') type(wb) wb.get_sheet_names() sheet=wb.get_sheet_by_name('o') type(sheet) sheet.title anotherSheet=wb.get_active_sheet()  #######得到活动页sheet anotherShee #############

python 直接存入Excel表格

1 def write_excels(self, document): 2 outwb = openpyxl.Workbook() 3 outws = outwb.create_sheet(index=0) 4 for y, docs in enumerate(document): 5 key = [doc for doc in docs] 6 for x, ky in enumerate(key): 7 outws.cell(y + 1, x + 1).value = docs[ky] 8 o

python自动化办公?学这些就够用了

知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音. 自动化办公无非是excel.ppt.word.邮件.文件处理.数据分析处理.爬虫这些,这次我就来理一理python自动化办公的那些知识点. python基础 excel自动化 ppt自动化 word自动化 邮件处理 文件批量处理 数据处理与分析 自动化爬虫 下面一一详解. p

Delphi中使用python脚本读取Excel数据

Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://seewind.blog.51cto.com/249547/46669前段时间,在正式项目中使用Python来读取Excel表格的数据.具体需求是,项目数据库中有些数据需要根据Excel表格里面的数据进行一些调整,功能应该比较简单.为了学习Pyth

【游戏开发】Excel表格批量转换成CSV的小工具

一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就论占用内存来说,同样的数据量Excel表格所占用的内存要远远大于CSV,因此将Excel转换成CSV势在必行.如果单单转换一个Excel表格还好,直接另存为就搞定的,但是如何将一个文件下的N个Execl表格转成CSV呢?今天马三就来和大家一起用Python撸一个Excel表格批量转换CSV的小工具—

python中如何将测试结果写入到原有的excel表格(二)

今天周五了哦,每个月最开心的就是周五还有发工资那天,呵呵.在这里提前祝大家周末愉快. 上次分享了如何结合python+excel表实现单接口自动化,今天和大家说下,如何将测试结果自动写入到原有的excel表格. 因为本人以前有用过数据库+Python做自动化,分了两个表一个是test_data,一个是test_report,后面想用列和测试结果直接写到一个表格,于是就选择用excel+python 了.下面是代码实现的部分 这次用了我们wap端的登录功能模块,python+selenium+Ex

python读取excel表格生成sql语句 第一版

由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦  作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd linux下 sudo pip install xlrd 主要是适用于db2数据库 excel 表结构 其中 number是不正确的字段类型 不知道同事为啥这么设置.这里程序里有纠错,这个程序就是将sql语句拼好. __author__ = 'c3t' # coding:utf-8 import xlr