我有一个问题,我觉得我已经多次回答,我在这里找到了。但是,作为一个新手,我真的不明白如何进行真正的基本操作。
这就是事情:
我有一个.xls
,当我使用xlrd获取一个值时,我只是使用
sh.cell(0,0)
(假设sh是我的表);
如果单元格中的内容是字符串,我会得到类似text:u'MyName'
的内容,我只想保留字符串'MyName'
;
如果单元格中的内容是数字,我会得到类似number:201.0
的内容,我只想保留整数201
。
如果有人可以指示我应该只提取值,格式化为我想要的,谢谢。
答案 0 :(得分:15)
sh.cell(x,y)返回类Cell的实例。当您打印sh.cell(x,y)时,您将返回该类的 repr 函数(因此它会输出type:value)。
你应该尝试:
cell = sh.cell(x,y)
print(cell.value)
我无法测试这个,因为我没有xlrd,但我认为它会在文档中有用:https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html#sheet.Cell-class
答案 1 :(得分:0)
对此的正确答案是简单地使用Cell.value
功能。这将返回一个数字或Unicode字符串,具体取决于单元格包含的内容。
答案 2 :(得分:0)
这将为您提供Excel中单元格内容的值。
var = sh.cell(x,y)
print var.value
但是这个数据的类型仍然是'unicode'。要转换为字符串(ascii):
var.value.encode('ascii','ignore')