Python 3.8.3“未找到文件”消息

时间:2020-10-05 05:41:10

标签: python file-not-found

我目前正在学习“使用Scikit-Learn,Keras和TensorFlow进行动手机器学习”这本书。我尝试运行以下示例,但是没有成功。链接正常,熊猫已正确安装,操作系统,tarfile和urllib是系统软件包。不过,我仍然收到以下错误消息(尝试过Jupyter和Spyder):

import os 
import tarfile 
import urllib 
import pandas as pd 

DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml2/master/"
HOUSING_PATH = os.path.join("datasets", "housing")
HOUSING_URL = DOWNLOAD_ROOT + "datasets/housing/housing.tgz"

def fetch_housing_data(housing_url = HOUSING_URL, housing_path = HOUSING_PATH): 
    os.makedirs(housing_path, exist_ok = True)
    tgz_path = os.path.join(housing_path, "housing.tgz") 
    urllib.request.urlretrieve(housing_url, tgz_path) 
    housing_tgz = tarfile.open(tgz_path) 
    housing_tgz.extractall(path = housing_path) 
    housing_tgz.close()
    


def load_housing_data(housing_path = HOUSING_PATH): 
    csv_path = os.path.join(housing_path, "housing.csv") 
    return pd.read_csv(csv_path)

housing = load_housing_data()
print(housing)

Jupyter中的错误消息:

--------------------------------------------------- ---------------------------- FileNotFoundError Traceback(最近一次调用 最后) 21 return pd.read_csv(csv_path) 22 ---> 23外壳= load_housing_data() 24 housing.head()

在load_housing_data(housing_path)中 19 def load_housing_data(housing_path = HOUSING_PATH): 20 csv_path = os.path.join(housing_path,“ housing.csv”) ---> 21返回pd.read_csv(csv_path) 22 23外壳= load_housing_data()

〜\ Miniconda3 \ lib \ site-packages \ pandas \ io \ parsers.py在 read_csv(filepath_or_buffer,sep,分隔符,标头,名称,index_col, usecols,squeeze,前缀,mangle_dupe_cols,dtype,引擎,转换器, true_values,false_values,skipinitialspace,skiprows,skipfooter, nrows,na_values,keep_default_na,na_filter,详细, skip_blank_lines,parse_dates,infer_datetime_format,keep_date_col, date_parser,dayfirst,cache_dates,迭代器,chunksize,压缩, 千位,十进制,换行符,quotechar,引号,双引号, 转义符,注释,编码,方言,error_bad_lines, warn_bad_lines,delim_whitespace,low_memory,memory_map, float_precision) 684) 685 -> 686 return _read(filepath_or_buffer,kwds) 687 688

〜\ Miniconda3 \ lib \ site-packages \ pandas \ io \ parsers.py在 _read(filepath_or_buffer,kwds) 450 451#创建解析器。 -> 452解析器= TextFileReader(fp_or_buf,** kwds) 453 454(如果是chunksize或迭代器):

〜\ Miniconda3 \ lib \ site-packages \ pandas \ io \ parsers.py in init ((自我, f,引擎,** kwds) 934 self.options [“ has_index_names”] = kwds [“ has_index_names”] 935 -> 936 self._make_engine(self.engine) 937年 938 def close(自己):

〜\ Miniconda3 \ lib \ site-packages \ pandas \ io \ parsers.py在 _make_engine(self,engine)1166定义_make_engine(self,engine =“ c”):1167如果engine ==“ c”: -> 1168 self._engine = CParserWrapper(self.f,** self.options)1169 else:1170 if engine ==“ python”:

〜\ Miniconda3 \ lib \ site-packages \ pandas \ io \ parsers.py在 init 中(自我, src,** kwds)1996 kwds [“ usecols”] = self.usecols 1997 -> 1998 self._reader = parsers.TextReader(src,** kwds)1999 self.unnamed_cols = self._reader.unnamed_cols 2000

pandas_libs \ parsers.pyx在 pandas._libs.parsers.TextReader。初始化()

pandas_libs \ parsers.pyx在 pandas._libs.parsers.TextReader._setup_parser_source()

FileNotFoundError:[错误2]没有这样的文件或目录: '数据集\房屋\房屋.csv'

如果有人花时间重现/提供输入代码是否返回错误消息,我将不胜感激。

非常感谢!

1 个答案:

答案 0 :(得分:1)

仅在调用时创建本地文件"datasets/housing/housing.csv"

fetch_housing_data()

您的代码示例未调用此函数。尝试在housing = load_housing_data()之前添加此行。