python中xlrd.open_workbook_python解决open()函数、xlrd.open_workbook()函数文件名包含中文,sheet名包含中文报错的问题...

问题现象:

1、使用open()函数、xlrd.open_workbook()函数打开文件,文件名若包含中文,会报错找不到这个文件或目录。

2、获取sheet时若包含中文,也会报错。

#打开文件

file = open(filename,'rb')

#打开excel文件

workbook = xlrd.open_workbook(filename)

#获取sheet

sheet = workbook.sheet_by_name(sheetname)

解决方案:

对参数进行转码即可。如:

filename = filename.decode('utf-8')

也试过unicode函数,不过,在ride中运行时出现了报错,所以不赞成使用。

filename = unicode(filename,'utf-8')

怎么让 Lua 5.3.4 支持中文变量名和中文函数名

1. 在官网下载最新版Lua源码 Lua :Download 2. 解压后进入目录,找到/src/llex.c,打开修改 找到如下内容 修改为下面代码,并保存. default: { if (lisl ...

解决ecplise+phthon2.7中使用pytesser和tesseract进行ocr,出现报错的问题

网上很多使用ecplise+phthon2.7中使用pytesser或者tesseract进行OCR网站验证码的案例,但配置起来实在让人崩溃. 通用步骤:1.下载了pytesser_v0.0.1: 2 ...

【Delphi7】 解决“程序第一次可以正常编译,但再次编译的时候会报错,必须重新打开Delphi”的问题

报错如下: Access violation at address 00495044 in module 'coreide70.bpl'. Read of address...Access viola ...

SQL ser 进行表中的插入操作时,变量字段名,导致报错时解决办法 :动态SQL

标题不能描述的很清楚,下面具体说所我要描述的问题,和解决的办法. 作为SQL小白一枚,近日在写一段代码,代码如下: 报错显示 变量@vv附近错误. 后来经过了解,原来是因为,这样需要使用 动态SQL去 ...

解决Xcode10 Library not loaded: /usr/lib/libstdc++.6造成的crash及报错

关键字1:dyld: Library not loaded: /usr/lib/libstdc++.6.dylib   Referenced from: 关键字2:Reason: no suitabl ...

【Python求助】在eclipse和pycharm中,通过adb install安装中文名字APK时老是报错,如何解决

# -*- coding: utf-8 -*- import os import sys import subprocess import time from uiautomator import d ...

随机推荐

.NET Framework 3.5 安装错误:0x800F0906、0x800F081F、0x800F0907

使用Add-WindowsFeature 照成的问题 I get the failure below..  If I pick the Server 2012 R2 image from 8/15/2 ...

java算法小知识练习

偶尔翻开了以前的练习题,不自觉又想随手敲一遍,虽然有些思想依然是那么老套,但毕竟也算是对知识的巩固 了. 一.题目:有1.2.3.4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 具体 ...

深入理解shared pool共享池之library cache的library cache lock系列四

本文了解下等待事件library cache lock,进一步理解library cache,之前的文章请见:  深入理解shared pool共享池之library cache的library ca ...

UVA11324-- The Largest Clique(SCC+DP)

题目链接 题意:给出一张有向图,求一个结点数最大的结点集,使得该结点集中随意两个结点u和v满足:要么u能够到到v,要么v能够到达u(u和v能够互相到达) 思路:我们能够缩点,用Tarjan求出全部强连 ...

Toad for Oracle的安装

分享一下Oracle 10gToad for Oracle的安装步骤   三年前用过Oracle,单纯的“用过”,主要就是说对数据库的一些操作,还不包含创建一些存储过程之类的,所以对Oracle仅仅只 ...

二十一、oracle pl/sql分类一 存储过程

存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数,可以将执行部分的数据传递到 ...

HTTP和HTTPS协议,看一篇就够了

https://blog.csdn.net/xiaoming100001/article/details/81109617 因为http请求是无状态的,所以需要三次握手.四次挥手来确定状态. 大纲 这 ...

HTTP method constants

HTTP method constants ngx.HTTP_GET ngx.HTTP_HEAD ngx.HTTP_PUT ngx.HTTP_POST ngx.HTTP_DELETE ngx.HTTP ...

[转]RabbitMQ系列(一):Windows下RabbitMQ安装及入门

https://blog.csdn.net/hzw19920329/article/details/53156015 1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang ...

工作流和过程自动化框架 Camunda BPM

Camunda BPM 是一个灵活的工作流和过程自动化框架,它的核心是一个在Java虚拟机内部运行的原生BPMN 2.0流程引擎,因此它可以嵌入到任何Java应用程序或运行时容器中.Camunda B ...

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`xlrd.open_workbook` 是一个函数,它可以打开一个 Excel 文件,并返回一个 `Workbook` 对象,该对象可以用于读取该 Excel 文件的数据。 以下是 `xlrd.open_workbook` 函数的常用参数和用法: ```python import xlrd workbook = xlrd.open_workbook('example.xlsx') # 打开 example.xlsx 文件,返回一个 Workbook 对象 worksheet = workbook.sheet_by_index(0) # 获取第一个工作表 # 读取数据 for row in range(worksheet.nrows): for col in range(worksheet.ncols): cell_value = worksheet.cell_value(row, col) print(cell_value) ``` 其,`xlrd.open_workbook` 函数的参数可以是文件名或文件对象,常用参数如下: - `filename`:要打开的 Excel 文件名。 - `file_contents`:要打开的 Excel 文件的内容,以二进制字符串或字节串的形式传入。 - `on_demand`:是否启用懒加载模式,即只有在需要读取某个工作表时才会将其加载到内存,默认为 False。如果 Excel 文件很大,可以使用这个参数来减少内存占用。 如果成功打开 Excel 文件,则 `xlrd.open_workbook` 函数会返回一个 `Workbook` 对象,该对象包含以下常用属性和方法: - `sheet_names()`:返回一个列表,包含工作簿所有工作表的名称。 - `sheet_by_name(name)`:根据工作表名称返回一个 `Sheet` 对象。 - `sheet_by_index(index)`:根据工作表索引返回一个 `Sheet` 对象。 - `nsheets`:返回工作簿工作表的数量。 - `sheet_loaded(sheet_name_or_index)`:返回一个布尔值,表示指定的工作表是否已经被加载到内存。 - `unload_sheet(sheet_name_or_index)`:卸载指定的工作表,释放该工作表占用的内存。 - `release_resources()`:释放所有占用的资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值