使用熊猫,Jupyter Notebook和Windows7导入CSV文件时出现FileNotFoundError

时间:2019-03-27 23:12:49

标签: python pandas csv path jupyter

我尝试学习编程,但目前无法将Judter笔记本中的csv文件读取。这是我的代码及其响应的样子:

In [1]: import pandas as pd

In [2]: pwd

Out [2]: 'C:\\Users\\Stefan'

In [3]: cd C:\\Program Files (x86)\\Hobby\\Geron_Geld

In [4]: pwd

Out [4]: 'C:\\Program Files (x86)\\Hobby\\Geron_Geld'

In [5]: pd.read_csv('oecd_bli_2015.csv')

这是响应:

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-7-daa5a9ab604d> in <module>
----> 1 pd.read_csv('oecd_bli_2015.csv')

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, doublequote, delim_whitespace, low_memory, memory_map, float_precision)
    676                     skip_blank_lines=skip_blank_lines)
    677 
--> 678         return _read(filepath_or_buffer, kwds)
    679 
    680     parser_f.__name__ = name

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    438 
    439     # Create the parser.
--> 440     parser = TextFileReader(filepath_or_buffer, **kwds)
    441 
    442     if chunksize or iterator:

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds)
    785             self.options['has_index_names'] = kwds['has_index_names']
    786 
--> 787         self._make_engine(self.engine)
    788 
    789     def close(self):

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
   1012     def _make_engine(self, engine='c'):
   1013         if engine == 'c':
-> 1014             self._engine = CParserWrapper(self.f, **self.options)
   1015         else:
   1016             if engine == 'python':

~\Anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds)
   1706         kwds['usecols'] = self.usecols
   1707 
-> 1708         self._reader = parsers.TextReader(src, **kwds)
   1709 
   1710         passed_names = self.names is None

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__()

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source()

FileNotFoundError: File b'oecd_bli_2015.csv' does not exist

============================================

  • 我已经尝试过将多个参数用于pd.read_csv。

  • 文件夹和文件存在,并且文件格式正确。

  • 我还观看了几则有关正常程序的Youtube视频,并尝试了我发现的所有变体,但没有奏效

  • 如果使用Notepad ++进行编程,以下代码(我尝试执行的另一项任务)将起作用:

training_data_file = open("C:\Program Files (x86)\Hobby\Picture recognition\mnist_train.csv", 'r') training_data_list = training_data_file.readlines() training_data_file.close()

如果我在Jupyter笔记本中使用相同的代码,将不会再次找到该文件。但是,我想使用Jupyter笔记本/通常通过编程进行练习。

如果有人能给我一个提示,为什么我找不到在Jupyter笔记本中显示csv文件的方式,以便以后我可以处理其数据,那将是很棒的。谢谢

(我的操作系统是Windows7)

Image with both opened csv files

2 个答案:

答案 0 :(得分:0)

我认为您实际上并没有以您认为的方式更改工作目录。

尝试此操作以查看您的实际目录是什么

>>> import os
>>> os.getcwd()

您在python中的工作目录由执行python解释器的位置决定,它不一定与cd之类的操作shell命令有任何联系。

检出os模块,了解在解释器上下文中更改目录所需的一切。

答案 1 :(得分:0)

您需要提供文件的完整路径,如下所示:

pd.read_csv(r'C:\Program Files (x86)\Hobby\Geron_Geld\oecd_bli_2015.csv')