Python: 使用相对路径导入Excel文件

8
我尝试导入一个不在脚本所在文件夹中的Excel文件。我需要回到上一级文件夹,然后进入另一个文件夹(B_folder),里面有一个2_file.xlsx文件。
我尝试过:
df = pd.read_excel(r'..\B_folder\2_file.xlsx')

and got:

FileNotFoundError: [Errno 2] No such file or directory: '..\\B_folder\\2_file.xlsx'

我也尝试过:

  • 使用正斜杠而不是反斜杠

  • 在路径前没有加上'r'

但我总是得到以上的错误信息或者以下的错误信息:

OSError: [Errno 22] Invalid argument: '..\\B_folder\2_file.xlsx'

什么有问题?

Windows还是Mac? - cs95
使用Windows操作系统工作 - MaMo
1
尝试指定完整路径... - cs95
1
你的文件路径可能是错误的。 - cs95
请记住,相对路径是根据您的脚本运行所在的文件夹计算的。 - DYZ
显示剩余2条评论
2个回答

9
感谢您的建议。虽然它们都没有起作用,但是我找到了一个解决方案。
df = pd.read_excel(r'./../B_folder/2_file.xlsx')

这对我来说完美地解决了问题。

如果有人遇到同样的问题,希望这可以帮到你。


1
您可以先计算绝对路径:
import os.path
fullpath = os.path.abspath('..\B_folder\2_file.xlsx')

请使用它来打开Excel文件。
如果反斜杠无法正常工作,您可以使用以下语法:
fullpath = os.path.abspath(os.path.join('..', 'B_folder', '2_file.xlsx'))

尝试过了。fullpath看起来像这样:'C:\\Users\\B_folder\x02_file.xlsx',但是df = pd.read_excel(fullpath)仍然不起作用。甚至删除了文件名前面的数字,但似乎这不是问题所在。 - MaMo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接