python自动化操作excel-xlrd

本文详细介绍了如何使用Python通过`open()`和`xlrd.open_workbook()`处理含有中文的Excel文件,包括文件编码转换、正确路径处理以及各种数据读取和操作方法,确保跨平台兼容和数据完整性。

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

问题及解决方案

1 python通过open()和xlrd.open_workbook()函数打开带有中文的文件时报错的问题
解:将文件进行编码

file = file.decode("utf-8")

2 存在中文导致无法读取

data = xlrd.open_workbook(filename)#文件名以及路径,如果路径或者文件名有中文给前面加一个 r

3.导入文件之后报错
输入文件所在的完整路径或将.py和excel放入同一个文件夹

import xlrd

# file = open("D:/test.xls",'rb')
# print(file)
# 打开excel #文件名以及路径,如果路径或者文件名有中文给前面加一个 r
data = xlrd.open_workbook("D:/test.xls")
# 通过名称获取book(excel文件)中一个工作表
sheet = data.sheet_by_name("Sheet1")
# sheet2 = data.sheets()[0]  # 通过索引顺序获取
# sheet3 = data.sheet_by_index()  # 通过索引顺序获取
print(sheet)

names = data.sheet_names()  # 返回book中所有工作表的名字
print(names)

nrows = sheet.nrows  # 获取行数
print(nrows)

aa = sheet.row(0)  # 获取该行所含有的内容的列表,从0开始
print(aa)

obj = sheet.row_len(0)  # 返回该行的有效单元格长度,即这一行有多少个数据
print(obj)

a2 = sheet.row_types(0, start_colx=0, end_colx=None)
# 返回由该行中所有单元格的数据类型组成的列表;   
# 返回值为逻辑值列表,若类型为empy则为0,否则为1
print(a2)

a3 = sheet.row_values(0, start_colx=0, end_colx=None)
# 返回由该行中所有单元格的数据组成的列表
print(a3)

# 对列的操作
ncols = sheet.ncols  # 获取列表的有效列数
print(ncols)

b1 = sheet.col(0)  # 返回该列中所有的单元格对象组成的列表
print(b1)

b2 = sheet.col_values(0, start_rowx=0, end_rowx=None) # 返回由该列中所有单元格的数据组成的列表
print(b2)

#单元格的操作

c1 = sheet.cell(0,0) # 返回单元格对象
print(c1)

c2 = sheet.cell_type(0,0)   # 返回对应位置单元格中的数据类型
print(c2)

c3 = sheet.cell_value(0,0) # 返回对应位置单元格中的数据
print(c3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值