pandas read_csv路径问题

时间:2018-04-01 04:58:03

标签: python pandas

如果我去的话,我可以轻松读取csv文件:

pd.read_csv(r'C:\\yourpath\yourcsvfile.csv')

但我想尝试路径变量而不是硬编码我的路径。所以我试过了:

processed_data_path=os.path.join(os.path.pardir,'data','processed')
train_file_path=os.path.abspath(os.path.join(processed_data_path,'train.csv'))
test_file_path=os.path.abspath(os.path.join(processed_data_path,'test.csv'))

打印结果为:

C:\yourpath\train.csv
C:\yourpath\test.csv

所以它看起来不错。但是当我尝试下面的代码时抛出一个文件不存在错误:

train_df = pd.read_csv(train_file_path)

问题出在哪里?

3 个答案:

答案 0 :(得分:1)

在调用解析器之前添加一个检查可能会帮助您识别问题 在解析之前检查路径总是一个很好的实践,以确保我们不会碰到例外:

if os.path.exists(train_file_path):
           train_df = pd.read_csv(train_file_path)
else:
           print(train_file_path)

答案 1 :(得分:1)

我会使用pathlib模块,这是现代Pandas版本非常方便和本机支持的:

演示:

try:
    from pathlib import Path
except ImportError:             # Python 2
    from pathlib2 import Path

In [49]: p = Path('D:\\')

使用重载的运算符/来加入路径:

In [50]: f = p / 'temp' / '.data' / '1.txt'

In [51]: f
Out[51]: WindowsPath('D:/temp/.data/1.txt')

In [52]: pd.read_csv(f)
Out[52]:
        Val
0  0.120000
1  0.320000
2  0.439999
3  0.560000
4  0.599999

答案 2 :(得分:0)

对于VSCode用户:问题可能是VSCode将当前工作目录设置为工作区根文件夹。我的解决方案是:

要将当前工作目录设置为您当时正在执行的任何文件:

文件>首选项>设置> Python>数据科学>在文件目录中执行

感谢用户brch:Python in VSCode: Set working directory to python file's path everytime