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. Unicode文字列です
  2. Cell_valueは、セルの値を返します。タイプはセルのタイプによって異なります。
  3. はい。Unicode文字列で正規表現を使用できますが、コードが正しくありません。

コードは「temp1」を文字列としてre.searchに渡します。変数temp1を渡しません。あなたが欲しい:

>>> x=re.search(u"Adam",temp1)
于 2011-12-04T13:10:33.753 に答える
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'

ユニコードでもパターンを指定する必要があるのはそれだけです。

于 2011-12-04T13:32:37.710 に答える