Python和Excel表格之间不得不说的故事,我有模块,你有数据嘛?

本文详细介绍了如何使用Python的xlrd、xlwt和xlutils库进行Excel文件的读取、写入及追加操作。通过示例代码展示了从打开文件到获取单元格数据,再到创建新工作簿并保存数据的全过程。对于追加数据,还讲解了xlutils.copy模块的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在python中,对excel表格读,写,追加数据,用以下三个模块:

1、wlrd 读取excel表中的数据

2、xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存。

3、xlutils 读入一个excel文件,然后进行修改或追加,不能操作xlsx,只能操作xls。

在这里插入图片描述

一、读excel表

读excel要用到xlrd模块

1、导入模块

import xlrd

2、打开excel文件

table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
table = data.sheet_by_name(u'Sheet1')#通过名称获取

代码如下:

import xlrd
data = xlrd.open_workbook(r"C:\Users\907968\Desktop\test.xlsx")
table1 = data.sheets()[0]
table2 = data.sheet_by_index(0)
table3=data.sheet_by_name(u'Sheet1')
print(table1)
print(table2)
print(table3)

返回:

<xlrd.sheet.Sheet object at 0x0000000002F7F208>
<xlrd.sheet.Sheet object at 0x0000000002F7F208>
<xlrd.sheet.Sheet object at 0x0000000002F7F208>

3、获取行数和列数

import xlrd
data = xlrd.open_workbook(r"C:\Users\907968\Desktop\test.xlsx")
table = data.sheets()[0]
nrows = table.nrows
ncols = table.ncols
print("行数:%d\n列数:%d"%(nrows,ncols))

返回:

行数:13

列数:3

4、获取整行和整列的值,以列表形式返回

rows = table.row_values(0)
cols = table.col_values(0)
print("rows:%s\ncols:%s"%(rows,cols))

返回:

rows:['A1', 'B1', 'C1']
cols:['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10', 'A11', 'A12', 'A13']

5、获取单元格数据

cell_A1 = table.cell_value(0,0)
cell_C4 = table.cell_value(3,2)
print("A1:%s\nC4:%s"%(cell_A1,cell_C4))

返回:

A1:A1
C4:C4

还可以使用行列索引来获取单元格数据

cell_A1 = table.row(0)[0].value
cell_C4 = table.col(2)[3].value
print("A1:%s\nC4:%s"%(cell_A1,cell_C4))

返回:

A1:A1
C4:C4

在这里插入图片描述

三、写excel操作

1、导入:

import xlwt

2、创建workbook

workbook = xlwt.Workbook(encoding='utf-8', style_compression=0)

encoding:设置字符编码,一般要这样设置:w = Workbook(encoding=’utf-8’),就可以在excel中输出中文了。默认是ascii

style_compression:表示是否压缩,不常用。

3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格

sheet = workbook.add_sheet(‘test’, cell_overwrite_ok=True)

其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False

4、向表中添加数据

sheet.write(0, 0, ‘EnglishName’) # 其中的’0-行, 0-列’指定表中的单元,'EnglishName’是向该单元写入的内容

sheet.write(1, 0, 'Marcovaldo')
txt1 = '中文名字'
sheet.write(0, 1, txt1) 
txt2 = '马可瓦多'
sheet.write(1, 1, txt2)

5、保存

workbook.save(r'e:\test1.xls')

在这里插入图片描述

四、追加数据

import xlrd
import xlutils.copy
data = xlrd.open_workbook(r'C:\Users\907968\Desktop\test222.xls')
ws = xlutils.copy.copy(data)
table=ws.get_sheet(0)
table.write(0,3,'D1')
ws.save(r'C:\Users\907968\Desktop\test222.xls')

追加前:

A1 B1 C1

追加后:

A1 B1 C1 D1

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

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

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

二、学习软件

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

三、入门学习视频

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

四、实战案例

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

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值