我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用Python读写操作Excel数据!

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用Python读写操作Excel数据!

对比其它编程语言,我们都知道Python最大的优势是代码简单,有丰富的第三方开源库供开发者使用。伴随着近几年数据分析的热度,Python也成为最受欢迎的编程语言之一。而对于数据的读取和存储,对于普通人来讲,除了数据库之外,最常见的就是微软的Excel。
在这里插入图片描述

一、前期准备

1.1初识Excel

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。

1.2 格式区别

Excel中有xls和xlsx两种格式,它们之间的区别是:

  • 文件格式不同。xls是一个特有的二进制格式,其核心结构是复合文档类型的结构,而xlsx的核心结构是XML类型的结构,采用的是基于 XML的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。
  • 版本不同。xls是Excel2003及以前版本生成的文件格式,而xlsx是Excel2007及以后版本生成的文件格式。
  • 兼容性不同。xlsx格式是向下兼容的,可兼容xls格式。

1.3 库的使用

Python自带的模块中有针对xls格式的xlrd和xlwt模块,但这两个库仅仅是针对xls的操作,当我们要操作xlsx格式文件时,则需要使用到openpyxl第三方库。
在这里插入图片描述

1.4 整体思路

当使用以上几个模块的时候,从理论上我们就可以完全操作不同格式的Excel的读和写,很多人就疑惑,那这篇文章的作用是什么?我们直接学习对应的这三个模块不就好了吗?

答案就是:虽然这几个库已经把Excel的文件、表、行、列的概念完全转换为Python中的对象,但每次操作都需要遍历每一个单元格,甚至很多时候我们要花费大量的时间在思考循环单元格的边界上,这本身就是在重复造轮子,因此我花了半天时间整理了以下六个函数。

在这里插入图片描述

二 代码展示

2.1 xlz格式

2.1.1 读取xls格式文件

def read_xls_excel(url,index):    '''    读取xls格式文件    参数:        url:文件路径        index:工作表序号(第几个工作表,传入参数从1开始数)    返回:        data:表格中的数据    '''    # 打开指定的工作簿    workbook = xlrd.open_workbook(url)    # 获取工作簿中的所有表格    sheets = workbook.sheet_names()    # 获取工作簿中所有表格中的的第 index 个表格    worksheet = workbook.sheet_by_name(sheets[index-1])    # 定义列表存储表格数据    data = []    # 遍历每一行数据    for i in range(0, worksheet.nrows):        # 定义表格存储每一行数据        da = []        # 遍历每一列数据        for j in range(0, worksheet.ncols):            # 将行数据存储到da列表            da.append(worksheet.cell_value(i, j))        # 存储每一行数据        data.append(da)    # 返回数据    return data

2.1.2 写入xls格式文件

def write_xls_excel(url,sheet_name,two_dimensional_data):  '''    写入xls格式文件    参数:        url:文件路径        sheet_name:表名        two_dimensional_data:将要写入表格的数据(二维列表)    '''    # 创建工作簿对象    workbook = xlwt.Workbook()    # 创建工作表对象    sheet = workbook.add_sheet(sheet_name)    # 遍历每一行数据    for i in range(0,len(two_dimensional_data)):        # 遍历每一列数据        for j in range(0,len(two_dimensional_data[i])):            # 写入数据            sheet.write(i,j,two_dimensional_data[i][j])    # 保存    workbook.save(url)    print("写入成功")

2.1.3 追加写入xls格式文件

def write_xls_excel_add(url, two_dimensional_data, index):    '''    追加写入xls格式文件    参数:        url:文件路径        two_dimensional_data:将要写入表格的数据(二维列表)        index:指定要追加的表的序号(第几个工作表,传入参数从1开始数)    '''    # 打开指定的工作簿    workbook = xlrd.open_workbook(url)    # 获取工作簿中的所有表格    sheets = workbook.sheet_names()    # 获取指定的表    worksheet = workbook.sheet_by_name(sheets[index-1])    # 获取表格中已存在的数据的行数    rows_old = worksheet.nrows    # 将xlrd对象拷贝转化为xlwt对象    new_workbook = copy(workbook)    # 获取转化后工作簿中的第index个表格    new_worksheet = new_workbook.get_sheet(index-1)    # 遍历每一行数据    for i in range(0, len(two_dimensional_data)):        # 遍历每一列数据        for j in range(0, len(two_dimensional_data[i])):            # 追加写入数据,注意是从i+rows_old行开始写入            new_worksheet.write(i+rows_old, j, two_dimensional_data[i][j])    # 保存工作簿    new_workbook.save(url)    print("追加写入成功")

2.2 xlsx格式

2.2.1 读取xlsx格式文件

def read_xlsx_excel(url, sheet_name):    '''    读取xlsx格式文件    参数:        url:文件路径        sheet_name:表名    返回:        data:表格中的数据    '''    # 使用openpyxl加载指定路径的Excel文件并得到对应的workbook对象    workbook = openpyxl.load_workbook(url)    # 根据指定表名获取表格并得到对应的sheet对象    sheet = workbook[sheet_name]    # 定义列表存储表格数据    data = []    # 遍历表格的每一行    for row in sheet.rows:        # 定义表格存储每一行数据        da = []        # 从每一行中遍历每一个单元格        for cell in row:            # 将行数据存储到da列表            da.append(cell.value)        # 存储每一行数据        data.append(da)    # 返回数据    return data

2.2.2 写入xlsx格式文件

def write_xlsx_excel(url, sheet_name, two_dimensional_data):    '''    写入xlsx格式文件    参数:        url:文件路径        sheet_name:表名        two_dimensional_data:将要写入表格的数据(二维列表)    '''    # 创建工作簿对象    workbook = openpyxl.Workbook()    # 创建工作表对象    sheet = workbook.active    # 设置该工作表的名字    sheet.title = sheet_name    # 遍历表格的每一行    for i in range(0, len(two_dimensional_data)):        # 遍历表格的每一列        for j in range(0, len(two_dimensional_data[i])):            # 写入数据(注意openpyxl的行和列是从1开始的,和我们平时的认知是一样的)            sheet.cell(row=i + 1, column=j + 1, value=str(two_dimensional_data[i][j]))    # 保存到指定位置    workbook.save(url)    print("写入成功")

2.2.3 追加写入xlsx格式文件

def write_xlsx_excel_add(url, sheet_name, two_dimensional_data):    '''    追加写入xlsx格式文件    参数:        url:文件路径        sheet_name:表名        two_dimensional_data:将要写入表格的数据(二维列表)    '''    # 使用openpyxl加载指定路径的Excel文件并得到对应的workbook对象    workbook = openpyxl.load_workbook(url)    # 根据指定表名获取表格并得到对应的sheet对象    sheet = workbook[sheet_name]    for tdd in two_dimensional_data:        sheet.append(tdd)    # 保存到指定位置    workbook.save(url)    print("追加写入成功")

希望这篇文章对正在学习Python的你有一定的帮助!

最后

给大家分享一波Python全套学习资料,免费!免费!免费!都是我自己学习时整理的,整理不易,请多多点赞分享哦~

微信扫描下方CSDN官方认证二维码即可领取啦!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python学习软件

工欲善其事,必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
在这里插入图片描述

三、Python入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
在这里插入图片描述

四、Python练习题

检验学习成果
在这里插入图片描述

五、Python实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

六、Python面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取!!

来源地址:https://blog.csdn.net/maiya_yaya/article/details/131509384

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用Python读写操作Excel数据!

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python操作Excel读写--使用x

一、安装xlrd模块   到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。二、使用介绍  1、导入模块      import xlrd   2、打开Exc
2023-01-31

使用Python对Excel进行读写操作

学习Python的过程中,我们会遇到Excel的读写问题。这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据。下面我们介绍如何实现使用Python对Excel进行读写操作。 Python版:3.
2022-06-04

Python 读写 Matlab Mat 格式数据的操作

1. 非 matlab v7.3 files 读写import scipy.io as sio import numpy # matFile 读取 matFile = 'matlabdata.mat' datas = sio.loadmat
2022-06-02

android读写sd卡操作写入数据读取数据示例

代码如下:package com.example.sdcardtest;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;imp
2022-06-06

Python如何读取和写入Excel数据

这篇文章主要介绍“Python如何读取和写入Excel数据”,在日常操作中,相信很多人在Python如何读取和写入Excel数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何读取和写入Exce
2023-06-02

使用Python对Access读写操作

学习Python的过程中,我们会遇到Access的读写问题,这时我们可以利用win32.client模块的COM组件访问功能,通过ADODB操作Access的文件。 1、导入模块 import win32com.client 2、建立数据库
2022-06-04

【Python】Python读写文件操作

原帖地址:http://blog.csdn.net/adupt/article/details/44356151.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭
2023-01-31

使用Python读Excel数据Inse

#!/usr/bin/env python#coding:utf-8import xlrdimport MySQLdbimport datetime  xlsfile=r'C:\Users\XUWU\Desktop\data.xlsx'bo
2023-01-31

用python读写excel的方法

这篇文章主要介绍了用python读写excel的方法,涉及xlrd模块与xlwt模块的应用,具有一定的学习借鉴价值,需要的朋友可以参考下本文实例讲述了用python读写excel的方法。分享给大家供大家参考。具体如下:最近需要从多个exce
2023-01-31

Python 之文件读写操作

Python 读写文件    1、打开文件        使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:                使用到的模式(mo
2023-01-31

Python怎么实现Excel数据读取和写入

这篇“Python怎么实现Excel数据读取和写入”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现Exce
2023-06-30

python使用openpyxl库读写Excel表格的方法(增删改查操作)

一、前言 嗨,大家好,我是新发。 最近需要做个小工具,可以通过python来读写Excel,实现增删改查操作。以前用的是xlrd和xlwt这两个python库,今天我要讲的是openpyxl库,我觉得openpyxl比xlrd和xlwt更强
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录