Domanda

Ho uno script Python utilizzando OpenPyXL per leggere un file Excel.Questo usato per funzionare bene, finché non ho scoperto che OpenPyXL non è stato installato correttamente, il che mi ha dato errori che eseguono lo script fuori dal mio IDE.Dopo aver fissato tuttavia, lo script restituisce valori numerici di cui non capisco da dove vengono, invece dei valori reali.

Lo script:

wb=load_workbook(r'C:\test.xlsx', use_iterators = True)
ws=wb.get_sheet_by_name('Sheet1')

#Iterate trough all rows
for row in ws.iter_rows(row_offset=1):
    for cell in row:
        #If the column == A, check if there's a website value
        if cell.column == 'A':
            try:
                print cell.internal_value
                self.match = re.match(regex, cell.internal_value)
                if self.match:
                    self.match = 'OK'
            except:
                pass
.

La stampa nel blocco Try viene aggiunta per vedere cosa viene restituito dal programma, che è il seguente per i primi cinque record:

0
1
31
49
143
.

dovrebbe essere:

None
Website
www.coolblue.nl
www.bol.com
www.elektrosky.nl
.

Perché il mio script restituisce questi valori numerici anziché i valori effettivi?

Modifica: Prime 6 righe del mio file XML (prima riga è vuota)

Website           |     Sender    |     Price  |    Mark(s)       |     Payment methods
www.coolblue.nl         PostNL          Free      Thuiswinkel           Ideal, Visa, Mastercard
www.bol.com             PostNL          Free      Thuiswinkel           Ideal, Visa, Mastercard
www.elektrosky.nl       PostNL         € 5,00     Webshop keurmerk      Ideal, Visa, Mastercard, Amex, PayPal
www.belsimpel.nl        PostNL, DPD    € 6,95     Thuiswinkel           Ideal, Visa, Mastercard
.

È stato utile?

Soluzione

Il problema è che stai usando .internal_value.Di default Excel memorizza stringhe in una tabella di ricerca e mantiene l'indice nella cella.Dovresti stare bene se usi solo .value

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top