VS Code:有没有办法在不需要指定完整路径的情况下读取 csv 文件?

VS Code: Is there a way to read a csv file without needing specification of the full path?

我正在尝试从 csv 文件(与我的 main.py 在同一文件夹中)读取数据,但似乎 Visual Studio 代码不理解项目文件夹或类似的东西

FileNotFoundError: [Errno 2] No such file or directory: 'ratings.csv'

这是我的代码

import numpy as np
import pandas as pd


# read data with panda, only the columns that are needed
r_cols = ['user_id', 'movie_id', 'rating']
ratings = pd.read_csv('ratings.csv', sep=';', names=r_cols, usecols=[1, 2, 3], encoding="ISO-8859-1", low_memory=False, header=0)

添加文件的完整路径可以解决问题,如果我添加它也可以 import os 代码开头为 os.chdir

但 PyCharm 不需要上述调整即可 运行 它。所以我的问题仍然存在,是否有我缺少的 VSCode 设置?

import os

def infolder_file( filename ):
    afname = os.path.abspath(__file__)
    current_folder = os.path.dirname(afname)
    uf = os.path.join(current_folder, filename )
    return uf

print( infolder_file( 'anyfilename.txt' )  )

您可以为模块顶部的目录定义常量,然后将其用于您需要访问的任何文件。

from pathlib import Path

DIRNAME = Path(__file__).parent

def func():
    fn = DIRNAME / 'file.suffix'

正如评论中提到的,我们可以在VSCode中设置调试路径,请在“launch.json”中添加以下设置:(它会自动转到文件所在的目录位于调试代码之前)

"cwd": "${fileDirname}",

我遇到了同样的问题,我通过这样做解决了它:

import pandas as pd

df = pd.read_csv('Pandas/sample.csv')

print(df)