python关闭excel文件_利用Python读取和修改Excel文件(包括xls文件和xlsx文件)

本文介绍一下使用Python对Excel文件的基本操作,包括使用xlrd模块读取excel文件,使用xlwt模块将数据写入excel文件,使用openpyxl模块读取写入和修改excel文件。

目录

1、使用xlrd模块对xls文件进行读操作

假设我们的表如下,是一个“农村居民家庭人均纯收入和农村居民家庭人均消费情况”的表格。后缀为.xls。里面包含两个工作表,“各省市”和“测试表”。

提一下,一个Excel文件,就相当于一个“工作簿”(workbook),一个“工作簿”里面可以包含多个“工作表(sheet)”

1.1 获取工作簿对象

引入模块,获得工作簿对象。

import xlrd #引入模块

#打开文件,获取excel文件的workbook(工作簿)对象

workbook=xlrd.open_workbook("DataSource/Economics.xls") #文件路径

1.2 获取工作表对象

我们知道一个工作簿里面可以含有多个工作表,当我们获取“工作簿对象”后,可以接着来获取工作表对象,可以通过“索引”的方式获得,也可以通过“表名”的方式获得。

'''对workbook对象进行操作'''

#获取所有sheet的名字

names=workbook.sheet_names()

print(names) #['各省市', '测试表'] 输出所有的表名,以列表的形式

#通过sheet索引获得sheet对象

worksheet=workbook.sheet_by_index(0)

print(worksheet) #

#通过sheet名获得sheet对象

worksheet=workbook.sheet_by_name("各省市")

print(worksheet) #

#由上可知,workbook.sheet_names() 返回一个list对象,可以对这个list对象进行操作

sheet0_name=workbook.sheet_names()[0] #通过sheet索引获取sheet名称

print(sheet0_name) #各省市

1.3 获取工作表的基本信息

在获得“表对象”之后,我们可以获取关于工作表的基本信息。包括表名、行数与列数。

'''对sheet对象进行操作'''

name=worksheet.name #获取表的姓名

print(name) #各省市

nrows=worksheet.nrows #获取该表总行数

print(nrows) #32

ncols=worksheet.ncols #获取该表总列数

print(ncols) #13

1.4 按行或列方式获得工作表的数据

有了行数和列数,循环打印出表的全部内容也变得轻而易举。

for i in range(nrows): #循环打印每一行

print(worksheet.row_values(i)) #以列表形式读出,列表中的每一项是str类型

#['各省市', '工资性收入', '家庭经营纯收入', '财产性收入', ………………]

#['北京市', '5047.4', '1957.1', '678.8', '592.2', '1879.0,…………]

col_data=worksheet.col_values(0) #获取第一列的内容

print(col_data)

1.5 获取某一个单元格的数据

我们还可以将查询精确地定位到某一个单元格。

在xlrd模块中,工作表的行和列都是从0开始计数的。

#通过坐标读取表格中的数据

cell_value1=sheet0.cell_value(0,0)

cell_value2=sheet0.cell_value(1,0)

print(cell_value1) #各省市

print(cell_value2) #北京市

cell_value1=sheet0.cell(0,0).value

print(cell_value1) #各省市

cell_value1=sheet0.row(0)[0].value

print(cell_value1) #各省市

2、使用xlwt模块对xls文件进行写操作

2.1 创建工作簿

# 导入xlwt模块

import xlwt

#创建一个Workbook对象,相当于创建了一个Excel文件

book=xlwt.Workbook(encoding="utf-8",style_compression=0)

'''

Workbook类初始化时有encoding和style_compression参数

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

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

'''

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值