Domanda

import xlrd
book = xlrd.open_workbook("univ_list.xls")

Sono nuovo di pitone. Sto cercando di leggere un file di MS Excel che si trova nella stessa directory come il mio script python. L'esecuzione del codice di cui sopra mi dà un errore di no such file or directory.

ti forniscono ulteriori informazioni, se necessario.

Modifica : il codice con il percorso completo su richiesta

import xlrd
book = xlrd.open_workbook("D:\Python_Scripts\univ_list.xls")

con corrispondente messaggio di errore

entrare descrizione dell'immagine qui

È stato utile?

Soluzione 5

import xlrd
book = xlrd.open_workbook("univ_list.xls")

funziona perfettamente solo che ho bisogno di sostituire xls con xlsx.

Altri suggerimenti

Stai farsi male da fughe di stringa. \ è un carattere di escape per le stringhe Python, quindi Python sta tentando di trovare i codici \P e \u di fuga (tra le altre cose), che non stanno per essere ciò che si desidera.

La correzione è o per sfuggire alla \ modificando il percorso "D: \ Python_Scripts \ univ_list.xls"., O per passare la stringa in un r"" (cioè r"D:\Python_Scripts\univ_list.xls") stringa, che non si backslash onore

Se python dice che non è possibile trovare un file, ci sono un paio di operazioni da compiere. Il primo è quello di fare in modo che il file esista. Il primo passo è quello di assicurarsi che sia stato digitato correttamente. Poi, come suggerito da AdamKG, assicurarsi pitone può vedere:

import os.path 
assert os.path.isfile(path_to_file)

solo per il supplemento

replaceing \ a / o \\ andrà bene:

import xlrd
book = xlrd.open_workbook("D:/Python_Scripts/univ_list.xls")
 # book = xlrd.open_workbook("D:\\Python_Scripts\\univ_list.xls")
  • Perché in stringhe Python, il backslash "\" è un carattere speciale , detta anche la " sfuggire " carattere. Si può leggere di più in il documento .

  • Se avete bisogno di \, in realtà è necessario \\.

Il problema è che PyScripter imposta la directory corrente. Questa non è la directory che i file di Excel o Python è a (Sarà probabilmente essere o la vostra casa, c:. \ O la directory Pyscriper è (uso os.getcwd () per ottenere quello che è)

In questo modo la correzione è quello di fornire il percorso completo - ma come mostrato nelle altre risposte e commenti Questo deve essere la stringa in forma grezza come usi Windows \ che non si mescolano bene con l'uso di programmazione di \ come carattere di escape nelle stringhe.

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