Python读写Excel表格,就是这么简单粗暴又好用(文末资料)

Python读写EXCEL文件常用方法大全 pandas支持xls, xlsx, xlsm, xlsb, odf, ods和odt文件扩展名从本地文件系统或URL读取。openpyxl是一个Python库,用于读取/写入Excel 2010 xlsx/xlsm/xltx/xltm文件。python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式。xlwt是一个库,用于将数据和格式化信息写入较旧的Excel文件(例如:.xls)。接下来我们来进行写入,写入可以进行的操作太多了,我这里只列举了常用的的操作。 阅读详情

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

以前正好在一本书上看到过使用Python来处理Excel表格,可惜没有仔细看。于是我到处查找资料,基本解决了日常所需,终于算是完成了任务,因此撰写此文就算是总结吧,主要记录使用过程的常见问题及解决。

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可从这里下载https://pypi.python.org/pypi。下面分别记录python读和写excel。
在这里插入图片描述
Python写excel——xlwt

Python写excel的难点不在构造一个workbook的本身,而是填充的数据,不过这不在范围内。在写excel的操作中也有棘手的问题,比如写入合并的单元格就是比较麻烦的,另外写入还有不同的样式。

详细代码如下:

import xlwt

#设置表格样式
def set_style(name,height,bold=False):
     style = xlwt.XFStyle()
     font = xlwt.Font()
     font.name = name
     font.bold = bold
     font.color_index = 4
     font.height = height
     style.font = font
     return style

#写Excel
def write_excel():
    f = xlwt.Workbook()
    sheet1 = f.add_sheet('学生',cell_overwrite_ok=True)
    row0 = ["姓名","年龄","出生日期","爱好"]
    colum0 = ["张三","李四","恋习Python","小明","小红","无名"]
    #写第一行
    for i in range(0,len(row0)):
    sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
   #写第一列
    for i in range(0,len(colum0)):
    sheet1.write(i+1,0,colum0[i],set_style('Times New Roman',220,True))

     sheet1.write(1,3,'2006/12/12')
     sheet1.write_merge(6,6,1,3,'未知')#合并行单元格
     sheet1.write_merge(1,2,3,3,'打游戏')#合并列单元格
     sheet1.write_merge(4,5,3,3,'打篮球')

    f.save('test.xls')

if __name__ == '__main__':
     write_excel()

结果图:
在这里插入图片描述
在此,对write_merge()的用法稍作解释,如上述:sheet1.write_merge(1,2,3,3,‘打游戏’),即在四列合并第2,3列,合并后的单元格内容为"合计",并设置了style。其中,里面所有的参数都是以0开始计算的。
在这里插入图片描述
Python读excel——xlrd

Python读取Excel表格,相比xlwt来说,xlrd提供的接口比较多,但过程也有几个比较麻烦的问题,比如读取日期、读合并单元格内容。

下面先看看基本的操作:
在这里插入图片描述
整体思路为,打开文件,选定表格,读取行列内容,读取表格内数据

详细代码如下:
import xlrd
from datetime import date,datetime

file = ‘test3.xlsx’

def read_excel():

wb = xlrd.open_workbook(filename=file)#打开文件
print(wb.sheet_names())#获取所有表格名字

sheet1 = wb.sheet_by_index(0)#通过索引获取表格
sheet2 = wb.sheet_by_name('年级')#通过名字获取表格
print(sheet1,sheet2)
print(sheet1.name,sheet1.nrows,sheet1.ncols)

rows = sheet1.row_values(2)#获取行内容
cols = sheet1.col_values(3)#获取列内容

print(rows)
print(cols)

print(sheet1.cell(1,0).value)#获取表格里的内容,三种方式
print(sheet1.cell_value(1,0))
print(sheet1.row(1)[0].value)

运行结果如下:
在这里插入图片描述
那么问题来了,上面的运行结果中红框框中的字段明明是出生日期,可显示的确实浮点数;同时合并单元格里面应该是有内容的,结果不能为空。

别急,我们来一一解决这两个问题:

1.python读取excel中单元格内容为日期的方式

python读取excel中单元格的内容返回的有5种类型,即上面例子中的ctype:

ctype : 0 empty,1 string,2 number, 3 date,4 boolean,5 error

即date的ctype=3,这时需要使用xlrd的xldate_as_tuple来处理为date格式,先判断表格的ctype=3时xldate才能开始操作。

详细代码如下:

import xlrd

from datetime import date,datetime

    print(sheet1.cell(1,2).ctype)
    date_value = xlrd.xldate_as_tuple(sheet1.cell_value(1,2),wb.datemode)
    print(date_value)
    print(date(*date_value[:3]))
    print(date(*date_value[:3]).strftime('%Y/%m/%d'))

在这里插入图片描述
2.获取合并单元格的内容

在操作之前,先介绍一下merged_cells()用法,merged_cells返回的这四个参数的含义是:(row,row_range,col,col_range),其中[row,row_range)包括row,不包括row_range,col也是一样,即(1, 3, 4, 5)的含义是:第1到2行(不包括3)合并,(7, 8, 2, 5)的含义是:第2到4列合并。

详细代码如下:

print(sheet1.merged_cells)
print(sheet1.cell_value(1,3))
print(sheet1.cell_value(4,3))
print(sheet1.cell_value(6,1))

在这里插入图片描述
发现规律了没?是的,获取merge_cells返回的row和col低位的索引即可! 于是可以这样批量获取:

详细代码如下:

merge = []
print(sheet1.merged_cells)
for (rlow,rhigh,clow,chigh) in sheet1.merged_cells:
     merge.append([rlow,clow])
for index in merge:
     print(sheet1.cell_value(index[0],index[1]))

运行结果跟上图一样,如下:
在这里插入图片描述
Python读写Excel表格,就是这么简单粗暴又好用,如果觉得不错,对你工作中有帮助,动动手指分享给更多人哦。

读者福利:知道你对Python感兴趣,便准备了这套python学习资料

👉[[优快云大礼包:《python兼职资源&全套学习资料》免费分享]](安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

  • ① Python所有方向的学习路线图,清楚各个方向要学什么东西
  • ② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析
  • ③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论
  • ④ 20款主流手游迫解 爬虫手游逆行迫解教程包
  • ⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解
  • ⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解
  • ⑦ 超300本Python电子好书,从入门到高阶应有尽有
  • ⑧ 华为出品独家Python漫画教程,手机也能学习
  • ⑨ 历年互联网企业Python面试真题,复习时非常方便

👉Python学习路线汇总👈

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

👉Python必备开发工具👈

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉实战案例👈

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

👉100道Python练习题👈

检查学习结果。
在这里插入图片描述

👉面试刷题👈

在这里插入图片描述

在这里插入图片描述

👉python副业兼职与全职路线👈

在这里插入图片描述

上述这份完整版的Python全套学习资料已经上传优快云官方,朋友们如果需要可以微信扫描下方优快云官方认证二维码 即可领取↓↓↓

👉[[优快云大礼包:《python安装包&全套学习资料》免费分享]](安全链接,放心点击)

如何用python读写excel文件_如何用Python读写Excel文件?最便捷的3种方式 python读写excel的方式有很多,这里我介绍3种方式,一种是利用xlrd和xlwt进行excel读写,一种是openpyxl读写,最后一种是利用pandas进行读写,下面我主要介绍一下3种方式读写的过程,实验环境win7+python3.6+pycharm5.0,主要步骤如下:为了方便演示,我这里新建了一个test.xls文件,主要内容如下,用于测试读excel的代码: 方法一:利用xlrd... 阅读详情

相关推荐

用Python读写操作Excel数据!

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

weixin_68789096的博客 3176

Python读写Excel文件

python 读写Excel文件(.xls .xlsx)

weixin_43641920的博客 4万+

Xilinx Vivado vitis IDE launch Failed \ Web installer client Obsolete 怎么办

Xilinx vitis_IDE failed Web installer client Obsolete

weixin_44820962的博客 8643

Python读写Excel表格,就是这么简单粗暴又好用

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库 Python写excel——xlwt Python写excel的难点不在构造一个workbook的本身,而是填充的数据,不过这不在范围内。在写excel的操作中也有棘手的问题,比如写入合并的单元格就是比较麻烦的,另外写入还有不同的样式。 详细代码如下: 最近在做一些数据处理...

睡前人工智能共享实验室 1550

中国银行信息科技岗位笔试

收到笔试只剩四天了,收集的资料,后续会更新

weixin_46050242的博客 4591

实测有效防止colab自动断开连接

实测有效防止colab自动断开连接

Thebest_jack的博客 1万+

Python读写Excel表格,就是这么简单粗暴又好用(文末免费送资料)

Python读写Excel表格,就是这么简单粗暴又好用(文末免费送资料)

python03013的博客 1530

基于boot + 双app升级方案

基于boot+双app的升级方案

weixin_44654285的博客 4514

用Python简单粗暴的读取excel表格数据

最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理。但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理。以前正好在一本书上看到过使用Python来处理Excel表格,可惜没有仔细看。于是我到处查找资料,基本解决了日常所需,终于算是完成了任务,因此撰写此文就算是总结吧,主要记录使用过程的常见问题及解决。 python操作exc...

qq_42992919的博客 2891

视觉巡线小车(STM32+OpenMV)——技术总结

在现代机器人技术中,视觉巡线是一种常见的导航方式,它允许机器人通过识别和跟踪地面上的线路来自主导航。本文将总结使用STM32微控制器和OpenMV视觉模块来实现视觉巡线小车的关键技术和步骤。

weixin_66608063的博客 3076

Androiud安卓链接sqllite的代码使用案例

【代码】Androiud安卓链接sqllite的代码使用案例。

laterstage的博客 1328

用 Python 读写 Excel 表格,就是这么的简单粗暴且乏味

过去,在很多金融、市场、行政的招聘中,面试官都会问一句:“你精通 EXCEL 吗?” 但今天,他们可能更喜欢问:“你会 Python 吗?” 越来越多的企业开始用 Python 处理数据,特别是金融、证券、商业、互联网等领域。在顶级公司的高端职位中,Python 更是成为了标配: Python 究竟有什么法力能让大家如此青睐? 举个例子:在过去,如果老板想要获取 A 股所有股票近 2 年的数据,你可能需要 登录-查询-下载-记录到excel 循环 500 多次,即使你是一个没

实验楼--动手做实验,轻松学IT! 1111

零信任架构实战:“持续验证+动态授权”全流程解析(附策略引擎联动图)

《零信任实战指南:7图拆解核心流程与行业案例》摘要:本文通过7张架构图系统解析零信任五大核心流程:强身份认证、设备检查、动态授权、持续监控和自动降权。对比金融(重数据审计)与制造业(重物理绑定)的落地差异,指出三大常见误区及解决方案。数据显示,零信任可使安全响应提速60%,泄露成本降低45%。文章提供6个月实施路线图,强调零信任是"智能信任"体系,建议企业分阶段改造,优先保护核心系统。附赠金融/制造行业策略模板及甘特图示例。(149字)

sara_han的博客 773

python 读写表格_Python读写Excel表格,就是这么简单粗暴又好用

原标题:Python读写Excel表格,就是这么简单粗暴又好用 最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理。但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理。以前正好在一本书上看到过,使用Python来处理Excel表格,可惜没有仔细看。于是我到处查找资料,基本解决了日常所需,终于算是完成了任务,因此撰写此文就算...

weixin_39926540的博客 138

基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)_167

本系统主要由超市环境监测部分和商品管理部分组成。环境监测部分主控芯片采用STM32F103C8T6,主要包括温湿度传感器、烟雾传感器和空调制热开关、空调制冷开关,采集的数据通过ESP8266模块+MQTT协议上传至OneNet云平台,在OneNet云平台设计手机和电脑版本可视化页面,能够在页面上查看超市的环境信息,还能在页面上手动打开空调制热开关和空调制冷开关。商品管理部分主要由RC522-RFID读卡器、上位机组成,实现商品选购、结算、顾客的VIP会员卡注册管理等功能。

6065

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用python用什么软件-Python读写Excel表格,就是这么简单粗暴又好用

Python读写Excel表格,就是这么简单粗暴又好用2019-04-18 13:45:3111点赞107收藏1评论最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理。但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理。以前正好在一本书上看到过使用Python来处理Excel表格,可惜没有仔细看。于是我到处查找资料,基本解决...

weixin_37988176的博客 973

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 学好深度学习,Python 得达到什么程度?
下一篇: 8个Python免费网站,一周熟练Python,知道就是赚到!
智泊AI官方
博客等级 码龄6年 8637粉丝 2667原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值