Код VS: есть ли способ прочитать файл csv без указания полного пути?
Я пытаюсь прочитать данные из файла csv (в той же папке, что и мой main.py), но кажется, что Visual Studio Code не понимает папку проекта или что-то в этом роде
FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'rating.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, который мне не хватает?
4 ответа
Как упоминалось в комментариях, мы можем установить путь отладки в VSCode, пожалуйста, добавьте следующие настройки в "
launch.json
": (Перед отладкой кода он автоматически перейдет в каталог, в котором находится файл)
"cwd": "${fileDirname}",
У меня такая же проблема, и я решил ее, выполнив следующие действия:
import pandas as pd
df = pd.read_csv('Pandas/sample.csv')
print(df)
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'