python学习笔记-part8-excel数据读取(.xls)

本文详细介绍如何使用Python的xlrd、xlwt和xlutils库进行Excel文件的读取、写入及修改,包括安装步骤、基本使用方法及常见错误解决策略。

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

安装包下载地址

http://pypi.python.org/pypi/xlrd
http://pypi.python.org/pypi/xlwt
http://pypi.python.org/pypi/xlutils3

如何安装?
1.直接解压这两个压缩包,解压后,复制到Python的安装路径下去。
2.进入cmd命令行界面,分别进入到这两个文件的文件夹路径下
3.输入命令 python setup.py install

使用:
1.import xlrd
2.import xlwt3
3.import xlutils3

介绍:

1.import xlrd 所有读取excel的方法都在这个模块里面
2.import xlwt3 所有写入数据到excel的方法都在这个模块里面
3.import xlutils3 修改excel,简单理解可以拷贝已有excel进行修改,生成新的excel表格

常用读取数据的方法:

1:workbook=xlrd.open_workbook(path) 打开excel,path是指excel所在的路径
2:workbook.sheet_names() 获取excel里面的所有表单名
3:sheet_obj=sheets()[0] 根据索引获取excel里面的表单对象
4:sheet_obj=sheet_by_index(0) 根据顺序索引获取表单对象
5:sheet_obj=sheet_by_name(‘summer’) 通过名称获取表单对象
6:sheet_obj.nrows 获取行数
7:sheet_obj.ncols 获取列数
8 :sheet_obj.row_values(0) 获取第1行的值
9 :sheet_obj.col_values(1) 获取第2列的值
10:sheet_obj.cell_value(1,1)
操作顺序:打开表—>获取表单对象—>获取cell值

写入数据到excel 的常用方法:

1:wb=xlwt3.Workbook()#获取一个工作表,创建一个对象
2:sheet=wb.add_sheet(“summer & python&2”) 创建一个表单
3:sheet.write(i,j,value[i][j]) 确定好位置写入具体的值
4:wb.save(path) 把你写入的数据保存好,一定要记得操作,不然数据就没有正常保存啦!

操作顺序:
先创建一个excel对象—新建一个表单对象—插入数据—保存excel
操作如果出错: 导入xlwt3报错:ValueError: ‘init’ in slots conflicts with class variable
解决方案:打开Python33\Lib\site-packages\xlwt3\formula.py文件,将其中的
slots = [“init”, “__s”, “__parser”, “__sheet_refs”, “__xcall_refs”]
修改为 slots = [ “__s”, “__parser”, “__sheet_refs”, “__xcall_refs”]

举个栗子:
文件名class_5_excel_read.py(读取数据)

import xlrd

'''1.读取excel里面的数据的所有函数操作'''
path='D:\\Downloads\\python.xls'#注意反斜杠
workbook=xlrd.open_workbook(path)

'''2.获取所有表单名字'''
sheets_name=workbook.sheet_names()
print("获取的所有表单名字",sheets_name)

'''3.获取表单对象'''
sheet_obj_1=workbook.sheet_by_index(0)#通过索引来获取,下表从0开始
print("通过索引顺序获取一个sheet对象",sheet_obj_1)
sheet_obj_2=workbook.sheet_by_name('Sheet1')#通过表单名来获取对象
print("通过表单名获取一个sheet对象",sheet_obj_2)
sheet_obj_3=workbook.sheets()[0]#根据顺序索引获取表单对象
print("通过索引顺序获取一个sheet对象",sheet_obj_3)

'''4.获取表单里面的数据行和列数'''
row_num=sheet_obj_3.nrows
print("所有的行数",row_num)
col_num=sheet_obj_3.ncols
print("所有的列数",col_num)

'''5.获取表单里面所有的数据'''
row_0_value=sheet_obj_3.row_values(0)#获取第一行所有值
print("所有第一行的值",row_0_value)
col_1_value=sheet_obj_3.col_values(1)#获取第2列所有值
print("所有第2列的值",col_0_value)

'''6.获取表单里面某个具体的数据'''
value_0_0=sheet_obj_3.cell_value(0,0)
print("第一行第一列的这个数据是:",value_0_0)
value_1_0=sheet_obj_3.cell_value(1,0)
print("第2行第一列的这个数据是:",value_1_0)


举个栗子:
文件名class_5_excel_write.py(写入数据)

import xlrd
import xlwt3

workbook_new=xlwt3.Workbook()#1.创建一个excel对象
#如果需要覆盖已经操作的单元格,需要设置cell_overwrite_ok=True
sheet_new=workbook_new.add_sheet('creat_new_sheet',cell_overwrite_ok=True)# 2.创建一个表单
sheet_new.write(0,0,"name")#3.确定好位置写入具体的值
sheet_new.write(0,1,"sex")
sheet_new.write(1,0,"花花")
sheet_new.write(1,1,"女")
workbook_new.save('D:\\Downloads\\python1.xls')#4.把你写入的数据保存好,一定要记得操作,不然数据就没有正常保存啦!

#测试数据是否写入成功,来读取数据
path='D:\\Downloads\\python1.xls'#注意反斜杠
workbook=xlrd.open_workbook(path)
sheet_obj_1=workbook.sheet_by_index(0)#通过索引来获取,下表从0开始
print("通过索引顺序获取一个sheet对象",sheet_obj_1)
row_0_value=sheet_obj_3.row_values(0)#获取第一行所有值
print("所有第一行的值",row_0_value)
col_1_value=sheet_obj_3.col_values(1)#获取第2列所有值
print("所有第2列的值",col_0_value)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值