首页 / PYTHON / Python xlrd命名范围值
Python xlrd命名范围值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python xlrd命名范围值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1714字,纯文字阅读大概需要3分钟。
内容图文
在Python中使用XLRD从Excel中读取.
简单的场景.我有一个带有值的单元格,这与命名范围相关联.
NamedRange“Foo”= Sheet1!$A $1
A1中的值是“Bar”
book =xlrd.open_workbook("")
rng = book.name_map['foo'][0] # lower case for some reason.
print rng.??? # how to print the cell value bar??
我只想在python代码中引用命名范围“Foo”并打印出单元格的值“Bar”.
编辑:
这是另一个更完整的例子:
import xlrd
workbook = xlrd.open_workbook('/path/to/metester.xls')
cell_obj = workbook.name_and_scope_map.get(('sales', -1))
# this does print Sheet1!$A$1
print cell_obj.formula_text
# this raises the NoneTypeError
print cell_obj.cell()
formula_text是为了确保excel可以读取文件.在我的例子中,命名单元格是Sheet1中的“sales”,单元格A1.
返回:
Sheet1!$A$1
Traceback (most recent call last):
File "tester.py", line 7, in <module>
print cell_obj.cell()
File "/usr/local/lib/python2.7/dist-packages/xlrd/book.py", line 253, in cell
self.dump(self.book.logfile,
AttributeError: 'NoneType' object has no attribute 'logfile'
解决方法:
首先,它是小写,如xlrd模块信息(https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html?p=4966)中所述:
name_map [#]
A mapping from lower_case_name to a list of Name objects. The list is sorted in scope order. Typically there will be one item (of global scope) in the list.
你有两个选择.如果你真的只设置一个单元格的名称,那么你使用Name类的’cell’方法(参见文档):
import xlrd
book = xlrd.open_workbook("")
Name = book.name_map['foo'][0]
print(Name.cell())
安慰:
text:'Bar'
但是,如果您已命名整个值范围,则需要使用Name类的area2d方法:
import xlrd
book = xlrd.open_workbook("q1.xls")
Name = book.name_map['foo'][0]
Sheet, rowxlo, rowxhi, colxlo, colxhi = Name.area2d()
for i in range(rowxhi):
print(Sheet.cell(i,0))
安慰:
text:'Bar'
内容总结
以上是互联网集市为您收集整理的Python xlrd命名范围值全部内容,希望文章能够帮你解决Python xlrd命名范围值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。