电脑上必安装的办公软件三大软件:word、excel、ppt,其中excel是在处理数据效率最高,也是最为繁琐的,因此高效快捷使用excel尤为重要,以下为大家介绍使用python更自动化处理excel介绍:

一、准备工具包:

1、xlrd:从Excel电子表格中提取数据

地址:https://xlrd.readthedocs.io/en/latest/

2、xlwt:将数据写入Excel电子表格

doc地址:https://xlwt.readthedocs.org/en/latest/

3、xlutils:提供一组处理Excel文件的实用程序

doc地址:https://xlutils.readthedocs.io/en/latest/

二、用法操作:

1、从指定文件路径读取excel表格,进行一定操作,然后保存到另一个excel文件:result.xlsx。

import xlwt
import xlrd
from xlutils.copy import copy
import pandas as pd
from pandas import DataFrame,Series
import os
os.chdir('./')
# 从指定文件路径读取excel表格
df = pd.read_excel('D:/mypaper/data/data.xlsx')
# 查看df内容

# 根据age算出出生年份,增加一列
import datetime
import os
year = datetime.datetime.now().year#获取当前系统时间对应的年份
df['birth'] = year-df['age']
df.to_excel('result.xlsx')#保存到当前工作目录,可以用os.getcwd()查看
#查看下此时df的内容,可以看到已经生成了birth这一列

下面就用准备的三个工具包,利用python操作excel。

三、Excel单元格操作

# 定义方法:读取指定目录下Excel文件某个sheet单元格的值
def excel_read(file_path,table,x,y):data = xlrd.open_workbook(file_path)table = data.sheet_by_name(table)return table.cell(y,x).value# 定义方法:单元格值及样式
write_obj_list = []
def concat_obj(cols,rows,value):write_obj_list.append({'cols':cols,'rows':rows,'value':value,
'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})# 定义方法:合并单元格
def merge_unit(srows,erows,scols,ecols,value):write_obj_list.append({'id':'merge','srows':srows,'erows':erows,'scols':scols,
'ecols':ecols,'value':value,'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})# 定义方法:更新excel
excel_update(file_path,write_obj_list,new_path):old_excel = xlrd.open_workbook(file_path, formatting_info=True)#管道作用new_excel = copy(old_excel)'''通过get_sheet()获取的sheet有write()方法'''sheet1 = new_excel.get_sheet(0)'''1代表是修改第几个工作表里,从0开始算是第一个。此处修改第一个工作表'''for item in write_obj_list:if 'id' not in item.keys():if 'style' in item.keys():sheet1.write(item['rows'], item['cols'], item['value'],item['style'])else:sheet1.write(item['rows'], item['cols'], item['value'])else:if 'style' in item.keys():sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'],item['style'])else:sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'])'''如果报错 dict_items has no attributes sort把syle源码中--alist.sort() 修改为----> sorted(alist)一共修改2次'''new_excel.save(file_path)#参数详解
# srows:合并的起始行数
# erows:合并的结束行数
# scols:合并的起始列数
# ecols:合并的结束列数
# value:合并单元格后的填充值
# style:合并后填充风格:
#     font: name 宋体
#     height 280;
#     alignment: horiz centre
#     ... 与excel操作基本保持一致

注意:该方法是将需要直行的动作保存到一个list中,真正的动作还未执行,执行动作是发生在excel_update方法中。

最终调用excel_update方法,传入每个单元格需要进行的操作和填充值的write_obj_list以及文件保存路径file_path,最后就能在当前工作目录下生成想要的Excel结果文件。

注意:

1)write_obj_list支持用户自定义。

2)write_obj_list也可以是根据excel_read方法读取现有待修改的excel文件(可以维持原有表格的格式)而生成。

其实python处理excel还有很多更好玩的方式,想要使用python更自动化的处理excel点击查看PyThon学习网教学中心

excel自动保存_萌新必看!python处理excel实例相关推荐

  1. excel自动保存_做了4个小时的excel未保存怎么办,用这招,快速恢复未保存的数据...

    Hello,大家好今天跟大家分享下我们如何恢复未保存的工作表,相信大家在职场中都遇到过电脑死机,突然停电等突发性的问题,如果当时恰巧在做一个,做了四五个小时的小时马上就要完成的excel表,那就真的太 ...

  2. 同济大学计算机系拿奖学分绩点,萌新必看NO.8|关于学分绩点奖学金,你想知道的都在这里...

    原标题:萌新必看NO.8|关于学分绩点奖学金,你想知道的都在这里 结束高考,来到武汉大学,是否意味着你能够彻底放松呢?正在埋头苦读的小帮告诉你,对于大学生来说, 学习仍然非常重要.每个期末考试周,图书 ...

  3. 为什么刀剑总显示服务器繁忙,刀剑乱舞萌新必看攻略 常见问题篇

    (为了方便下文均用 太=太刀 大太=大太刀 打=打刀 脇=脇差 薙=薙刀 作为简称,均为游戏内刀的类别) 1左上角的玩家等级有什么用处吗? 随着等级上升,四样材料的自动恢复上限会提高.在演习中遇到的对 ...

  4. 一篇文章指明做JavaWeb项目需要的前置知识+完整项目初解读(萌新必看,十分友好)

    前言 过了web这个阶段了,项目也完成了的我想给各位后来者总结一下我整个项目从开始到结束的经验,当然,也不是一帆风顺,报错有时候折磨的要死,废话不多说,现在就开始吧. 本文一共分为两个部分:纯理论科普 ...

  5. 计算机的外设配置,CSGO萌新必看电脑配置及外设选择建议心得分享

    最近社区看到好几个萌新帖子求电脑选配,我也是从一个电脑萌新不停的上网百度,问朋友然后总结了很多经验今天跟大家分享下,因为社区很多都是学生党,所以我选的配置尽量会是选我觉得性价比比较高的来说,本人也是菜 ...

  6. 灵山奇缘服务器一直维护,灵山奇缘萌新必看FAQ 新手常见问题解答

    灵山奇缘作为一款继承传统回合制的基本玩法,也颠覆了传统回合制网游的特色玩法,对于玩过回合制网游的玩家而言,可能以为回合制游戏都是一个样,其实不然,灵山奇缘里也有本身的特色玩法,如果你想玩得更出色快人一 ...

  7. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  8. python代替excel的插件_作者推荐:用 Python 替代Excel 表格,轻而易举实现办公自动化...

    过去,在很多金融.市场.行政的招聘中,面试官都会问一句:"你精通 EXCEL 吗?" 但今天,他们可能更喜欢问:"你会 Python 吗?" 越来越多的企业开始 ...

  9. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...

    最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...

最新文章

  1. 别再被 Python 洗脑了!!
  2. jQuery中Map的使用
  3. Java Web 高性能开发,前端的高性能
  4. java 连接池技术_java数据库连接池技术原理(浅析)
  5. 解决子级用css float浮动 而父级div没高度不能自适应高度
  6. 实用的 Python —— 快速进行相关计算
  7. Java求解迷宫问题:栈与回溯算法
  8. java hibernate 插入数据_hibernate 批量插入数据
  9. Css绝对定位position
  10. C#获取登录验证码图片
  11. [深度学习]卷积神经网络CNN - 一张图理解滤波器/层数/深度
  12. 东北师范大学计算机学院晓辉,计算机学院
  13. 关于网络上的刷钻方法
  14. 本地局域网HTTPS解决方案 CA证书
  15. 优秀的 icon 的免费网站,看这篇就够了
  16. ajax success 参数
  17. php判断区间数字,如何快速判断数字在那个区间?
  18. 关于导入.a文件后报错Undefined symbols for architecture arm64:
  19. 简体繁体转换功能php,php如何实现简体繁体转换-PHP问题
  20. 利用android的通知Notification来实现msn的登录状态

热门文章

  1. C/C++ OpenCV五种滤波器综合示例
  2. linux lftp上传文件,linux中使用lftp上传下载文件
  3. matlab出错及解决办法,Linux下使用Matlab符号函数出错的解决办法
  4. python第一课教案_Python第一课
  5. python要背的单词_Python-默背单词
  6. C语言的单向链表的操作方法
  7. 菜鸟Linux系列:[4]SSH免密码登陆远程服务器
  8. 计算机网络之应用层:3、文件传输协议FTP、简单文件传输协议TFTP
  9. 第一章第一节:C++简介与学习方法
  10. 面试题58 - II. 左旋转字符串