0

我想知道 xlrd 的结果格式。

查看代码

>>> sh.cell_value(rowx=2, colx=1)
u'Adam Gilchrist xxxxxxxxxxxxxxxxxxxxx'

现在当我尝试运行 res.search

>>> temp1=sh.cell_value(rowx=2, colx=1)
>>> x=re.search("Adam",'temp1')
>>> x.group()

Traceback (most recent call last):
  File "<pyshell#58>", line 1, in <module>
    x.group()
AttributeError: 'NoneType' object has no attribute 'group'

我什么都得不到。

  1. 首先我想知道,结果的'u'是什么。
  2. 返回的结果格式是什么sh.cell_value。它是整数,字符串等。
  3. 我们可以对它们运行正则表达式吗?
4

2 回答 2

1

先回答你的问题

  1. 首先我想知道,结果中的'u'是什么?u 是unicode字符串的限定符。所以u'Adam Gilchrist xxxxxxxxxxxxxxxxxxxxx'意味着 unicode 中的测试。
  2. sh.cell_value 返回的结果格式是什么。它是整数,字符串等吗?它的 unicode 字符串
  3. 我们可以对它们运行正则表达式吗?是的,你可以,这就是你的做法
temp1=u'Adam Gilchrist xxxxxxxxxxxxxxxxxxxxx'
x=re.search(u'Adam',temp1)    
x.group()    
u'Adam'

只是您还必须在 unicode 中指定模式。

于 2011-12-04T13:32:37.710 回答
1
  1. 这是一个 Unicode 字符串
  2. Cell_value 返回单元格的值。类型取决于单元格的类型。
  3. 是的。您可以对 Unicode 字符串使用正则表达式,但您的代码不正确。

您的代码将“temp1”作为字符串传递给 re.search。它不传递变量 temp1。你要:

>>> x=re.search(u"Adam",temp1)
于 2011-12-04T13:10:33.753 回答