Python 操作Excel文件

文章目录

  • Python 操作Excel文件
    • 1. 用到的三方库
    • 2. 读excel文件
    • 3. 写excel 文件
    • 简单的总结

Excel 是我们在日常办公中可谓是无处不见,Excel主要又两种文件后缀名格式——(.xls/.xlsx)。现在使用的最多的是以.xlsx为后缀名的文件,它比.xls占的空间更少。

  • 对于Excel的处理日常我们所用 的工具以微软开发的Excel为主,它是一种图像化界面操作很容易上手。处理这类文件的最大疼点——函数的使用————工作量大(存在大量重复的工作)
  • exce文件的结构包括两大部分: 工作簿和工作表,一个工作部里面可以同时存在多个工作表。

1. 用到的三方库

  • 这主要介绍excel 文件的读写的主流的三方库
  • xlrd ----- 用于读以.xlsx文件,新版本只能读.xlsx结尾的文件。对于1.2.0的版本可以同时读.xls.xlsx两种版本的excel文件,再安装三方库发时候可以安装指定版本的库,pip install xlrd==1.2.0.
  • xlwt ---- 用于写excel 文件.
  • openpyxl----同时可以支持excel的文件的读写,是处理excel首选的处理方法

2. 读excel文件

  • xlrd读excel文件

    步骤:打开工作簿创建工作簿对象————>获取工作表对象————>得到每个单元格对象————>遍历单元格里面的值。

    import xlrdwb = xlrd.open_workbook('data/阿里巴巴2020年股票数据.xlsx')  # 打开工作簿创建工作簿对象
    sheet_name = wb.sheet_names()[0]  # 获取表单名
    # print(sheet_name)
    sheet = wb.sheet_by_name(sheet_name)  # 通过表单名创建工作区对象
    # print(sheet.nrows, sheet.ncols)  # 获取行数和列数
    for row in range(sheet.nrows):for col in range(sheet.ncols):value = sheet.cell(row, col).value# 对除首行外的其他行进行数据格式化处理if row > 0:# 第1列的xldate类型先转成元组再格式化为“年月日”的格式if col == 0:# xldate_as_tuple函数的第二个参数只有0和1两个取值# 其中0代表以1900-01-01为基准的日期,1代表以1904-01-01为基准的日期value = xlrd.xldate_as_tuple(value, 0)  #返回一个六元组value = f'{value[0]}年{value[1]:>02d}月{value[2]:>02d}日'# 其他列的number类型处理成小数点后保留两位有效数字的浮点数else:value = f'{value:.2f}'print(value, end='\t\t')print()
  • openpyxl读取excel文件

import openpyxl# 获取工作簿对象
wb = openpyxl.load_workbook('data/阿里巴巴2020年股票数据.xlsx')
# print(type(wb))
print(wb.sheetnames)  # 获取sheet表的名字,返回一个列表
# 获取sheet对象
sheet = wb.worksheets[0]
print(type(sheet))for row in range(2, sheet.max_row+1):  # 索引从1开始for col in range(1, sheet.max_column+1):value = sheet.cell(row, col).valueif col == 1:print(value.strftime('%y-%m-%d'), end='\t')else:print(value, end='\t')print()
  • 从上面的两段代码可以看出openpyxl库处理excel文件更占更大的优势。基本上都是相同的生成wookbook对象一个是打开一个是加载文件。

3. 写excel 文件

  • xlwt写excel文件
  • 步骤和读的步骤一样
import randomimport xlwt# 创建工作簿
wb = xlwt.Workbook('data/成绩.xls')# 添加工作表
sheet = wb.add_sheet('学生成绩')  # type: xlwt.Worksheet# 向单元格写入数据
title = ['姓名', '语文', '数学', '英语']
for index, value in enumerate(title):               sheet.write(0, index, value)  # 第一个参数row,第二个参数column ,第三个参数要写入的内容name = ['张华', '刘谦', '吴昊', '龙源', '杨柳']
for row in range(1, 6):sheet.write(row, 0, name[row-1])  # 将姓名写入第一列for col in range(1, 4):sheet.write(row, col, random.randrange(50, 101))
# 保存
wb.save('data/成绩.xls')

需要注意的是xlwt对表的行列的所有都是从0开始.

  • openpyxl 写excel文件
import randomimport openpyxl
from xlutils.copy import copywb1 = openpyxl.Workbook()
sheet1 = wb1.create_sheet('sheet1')
sheet1.title = '成绩'
name = ['张三', '李四', '王二', '麻子', '龙王']
scour = ['语文', '数学', '英语']
for index, value in enumerate(name):sheet1.cell(index + 2, 1, value)
for index, value in enumerate(scour):sheet1.cell(1, index + 2, value)for row in range(2, 7):for col in range(2, 5):sheet1.cell(row, col, random.randrange(60, 101))wb1.save('data/四班成绩.xlsx')

openpyxl 写excel文件对表的行和列都是从1开始

简单的总结

常工作效率,解决大量的繁琐工作。在处理excel文件当以.xls为后缀名用xlrd和xlwt分别对文件进行读和写操作,以.xlsx为后缀名用openpyxl可以同时对文件进行读写操作。excel也是我们工作中非常重要的一部分,用python可以实现办公自动化。

Python 操作Excel文件相关推荐

  1. python处理excel表格实例-使用Python操作excel文件的实例代码

    使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 ...

  2. 详解Python操作Excel文件

    前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法. 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. 地 ...

  3. Python操作Excel文件:插入一列数据

    问题描述:已有Excel文件,其中包含5列数据,要求在第3列前插入一列数据,保存为新文件. 参考代码: 运行结果: --------董付国老师Python系列教材-------- 1)<Pyth ...

  4. Python操作Excel文件汇总数据案例一则

    问题描述: Excel文件"每个人的爱好.xlsx"内容如下: 要求在最后追加一列,该列中每个单元格的内容为所在行前几列单元格数据的汇总.以上面的内容为例,处理后文件内容如下: 参 ...

  5. 实例2:python操作Excel文件 - 插入列、分列、删除列、移动位置

    实例所用资源:https://download.csdn.net/download/weixin_46623003/16096246 一.数据情况及要求 1.原数据情况 2.要求 将"科目& ...

  6. 使用Python操作excel文件

    依赖环境 读取excel表里的数据,需要依赖的包是xlrd,首先需要安装xlrd包 pip3 install xlrd 简单的常用命令 #coding=utf-8 import xlrd'''文件路径 ...

  7. Python操作excel文件根据某一字段将相同的类拆分

    背景:A表内容如下,根据B列字段分类,拆分成多个表(工作簿) 环境配置:需要安装pandas,xlrd,openpyxl库 #将一个excel表根据某列字段拆分为多个工作表import pandas ...

  8. python操作Excel文件

    参考: http://www.cnblogs.com/tianyajuanke/p/4048844.html http://blog.chinaunix.net/uid-24701781-id-334 ...

  9. python调用openpyxl包操作excel文件

      python抓取数据或处理数据库,可以将数据保存到本地文件(xml.excel)或数据库(mysql等)中,本文学习python中操作excel文件的基本用法,后续将从网页中抓取的数据保存到本地e ...

最新文章

  1. Radboud科学家探索材料「量子大脑」——没有软件,硬件也可以实现机器学习 | AI日报...
  2. 数据蒋堂 | JOIN延伸 - 维度其它应用
  3. ffmpeg3.3新版本AVStream的封装流参数由codec替换codecpar
  4. [Python陷阱]os.system调用shell脚本获取返回值
  5. centos mysql卸载重装_centos 7.x 安装/卸载MySQL
  6. cast函数 oracle 日期_从Oracle到PG 该做的改造工作一个都不能少!
  7. python内核死亡的原因_Python的内核由于DLL而死亡
  8. 前端学习(2743):重读vue电商网站53之项目上线
  9. java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量
  10. java编译源文件_Java实现编译源文件(Java源码)
  11. 《团队激励与沟通》第 8 讲——团队合作技巧 重点部分总结
  12. 随谈---------多年之后,我又回来了
  13. jQuery EasyUI API 中文文档 - 数值微调器(NumberSpinner)
  14. 一个计算机软件学生的求职简历,计算机学生求职的个人简历模板
  15. 论PRINCE2认证的优势是什么?
  16. VS2005 SP1安装
  17. PC电脑控制手机iphone(iOS 11、iOS 12、iOS 13),需越狱
  18. 金山云直播问答解决方案来了!让客户一天上线
  19. STC 数码管显示及74HC573在其中的应用
  20. 显示计算机101代码,电脑出现蓝屏故障101停机码,怎么解决问题

热门文章

  1. 计算机进制单位tb以上,计算机容量单位的换算 B,KB,MB,GB,TB
  2. 原装苹果手机_苹果手机换屏的“学问”这么多,一招教你快速辨别iPhone X原装屏...
  3. OpenMP共享内存并行编程详解
  4. 南京师范大学与南京林业大学计算机,2017南京师范大学在国内排名多少位
  5. python中complex(10.99)是什么意思_代码 a = 10.99; print(complex(a)) 的执行结果是 _________ 。...
  6. 【JavaScript基础-二维数组】JavaScript修改二维数组的某个元素时,其上下元素也受到影响
  7. 火车售票系统设计 c语言,C语言火车售票系统
  8. DVWA通关-SQL注入篇
  9. JavaWeb——Spring 的操作数据库的 DAO模式
  10. 全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次