Domanda

voglio sapere, il formato del risultato di xlrd.

Vedi il codice

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

Ora, quando provo a eseguire un file 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'

Non ottengo nulla.

  1. Per prima cosa voglio sapere qual è la "u" con il risultato.
  2. Quali sono i formati dei risultati restituiti sh.cell_value.È un numero intero, una stringa, ecc.
  3. Possiamo eseguire espressioni regolari su di essi?
È stato utile?

Soluzione

Rispondendo prima alla tua domanda

  1. Per prima cosa voglio sapere, qual è la "u" con il risultato?u è il qualificatore per unicode corda.COSÌ u'Adam Gilchrist xxxxxxxxxxxxxxxxxxxxx' significa il test in unicode.
  2. Quali sono i formati dei risultati restituiti da sh.cell_value .È un numero intero, una stringa ecc.?La sua stringa Unicode
  3. Possiamo eseguire espressioni regolari su di essi?Sì, puoi ed è così che fai
temp1=u'Adam Gilchrist xxxxxxxxxxxxxxxxxxxxx'
x=re.search(u'Adam',temp1)    
x.group()    
u'Adam'

È solo che devi specificare il modello anche in Unicode.

Altri suggerimenti

  1. È una stringa Unicode
  2. Cell_value restituisce il valore della cella.Il tipo dipende dal tipo di cella.
  3. SÌ.Puoi utilizzare espressioni regolari su stringhe Unicode, ma il tuo codice non è corretto.

Il tuo codice passa "temp1" a re.search come stringa.Non passa la variabile temp1.Tu vuoi:

>>> x=re.search(u"Adam",temp1)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top