python:没有这样的文件或目录错误

时间:2012-01-11 17:14:15

标签: python excel xlrd

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

我是python的新手。我正在尝试读取与我的python脚本位于同一目录中的MS excel文件。运行上面的代码会给我一个no such file or directory错误。

如果需要,我会提供更多信息。

修改:根据请求提供完整路径的代码

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

带有相应的错误消息

enter image description here

5 个答案:

答案 0 :(得分:2)

你被绳索逃脱伤害了。 \是Python字符串的转义字符,因此Python试图找到\P\u转义代码(以及其他内容),这些代码不是您想要的。

修复是通过将路径更改为“D:\ Python_Scripts \ univ_list.xls”来转义\,或者将字符串切换为r""(即r"D:\Python_Scripts\univ_list.xls" )string,它不支持反斜杠。

答案 1 :(得分:2)

如果python说你找不到文件,那么你应该采取几个步骤。首先是确保文件存在。第一步是确保拼写正确。然后,按照AdamKG的建议,确保python可以看到它:

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

答案 2 :(得分:1)

仅作为补充

type Constructor<K> = K extends { new: infer T } ? T : any; 替换为\/很好:

\\
  • 由于在Python字符串中,反斜杠“ \”是特殊字符,也称为“ 转义”字符。您可以在the document中阅读更多内容。

  • 如果您需要import xlrd book = xlrd.open_workbook("D:/Python_Scripts/univ_list.xls") # book = xlrd.open_workbook("D:\\Python_Scripts\\univ_list.xls") ,实际上您需要\

答案 3 :(得分:0)

问题是PyScripter设置了当前目录。这不是你的excel或python文件所在的目录(它可能是你的家,c:\或Pyscriper所在的目录(使用os.getcwd()来获取它是什么)。

因此修复是提供完整路径 - 但是如其他答案和注释中所示,这需要是原始形式的字符串,因为Windows使用\与编程使用\作为转义字符不能很好地混合在字符串中。

答案 4 :(得分:0)

import xlrd
book = xlrd.open_workbook("univ_list.xls")
除了我需要用xlsx替换xls之外,

工作得非常好。