目录中有一个7.csv文件:〜/ Documents / Jane / analyst / test / 1 /。我能够使用pandas.read_csv函数读取此文件没有问题。
f_path = '~/Documents/Jane/analyst/test/1/7.csv'
pd.read_csv(f_path, index_col=None, header=0)
但是当使用os.path.isfile()检查此文件是否存在时,结果返回False。
os.path.isfile(f_path)
False
可能的错误来源是什么?
答案 0 :(得分:4)
os.path.isfile()和os.path.exists()都不会将~
识别为主目录。 ~
是python中无法识别的shell变量。它必须是完全指定的,或者您可以使用相对目录名。
但如果您真的想将~
作为主页,那么您可以
from os.path import expanduser
home = expanduser("~")
答案 1 :(得分:1)
正如亨提到的那样,你的代码应该是
import os
f_path = '~/Documents/Jane/analyst/test/1/7.csv'
os.path.isfile(os.path.expanduser(f_path))
这会将波浪号扩展为绝对路径。 〜,.和..对于他们在unix shell中执行的python os包没有相同的含义,需要由不同的函数解释。