Я работаю с этим руководством и использую pandas для прохождения.
Это фрагмент кода, который я набрал и получил ошибку:
users = pd.read_csv('ml-100k//u.users', sep = '|', names = ['User ID', 'Age','Gender', 'Occupation','Zip Code'])
Ошибка, вызванная кодом выше:
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
users = pd.read_csv('ml-100k//u.users', sep = '|', names = ['User ID', 'Age','Gender', 'Occupation','Zip Code'])
File "C:\Program Files\Python 3.5\lib\site-packages\pandas\io\parsers.py", line 709, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\Program Files\Python 3.5\lib\site-packages\pandas\io\parsers.py", line 449, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "C:\Program Files\Python 3.5\lib\site-packages\pandas\io\parsers.py", line 818, in __init__
self._make_engine(self.engine)
File "C:\Program Files\Python 3.5\lib\site-packages\pandas\io\parsers.py", line 1049, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "C:\Program Files\Python 3.5\lib\site-packages\pandas\io\parsers.py", line 1695, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas\_libs\parsers.pyx", line 402, in pandas._libs.parsers.TextReader.__cinit__
File "pandas\_libs\parsers.pyx", line 718, in pandas._libs.parsers.TextReader._setup_parser_source
FileNotFoundError: File b'ml-100k//u.users' does not exist
Я понял, как заставить его работать, написав:
users = pd.read_csv(r'C:\\Users\\User\\Documents\\Python3\\ml-100k\\ml-100k\\u.user', sep = '|', names = ['User ID', 'Age','Gender', 'Occupation','Zip Code'])
Есть ли более простой способ сделать это без записи полного пути к файлу? Я использую Windows 64 Pro.
ml-100k
, вы можете просто указать имя файла, а не весь путь, так как рабочий каталог будет `c:\...\ml-100k` - person Haleemur Ali   schedule 10.01.2018'ml-100k//u.users'
- Проблема может заключаться в двух косых чертах. Попробуйте одинарную косую черту. В Windows вы можете использовать одинарную косую черту/
или двойную обратную косую черту\\` as a separator. Or, if you make it a raw string, a single backslash
r\`, - person tdelaney   schedule 10.01.2018