Python文件路径在pycharm正则表达式混淆中失败

gh0*_*r18 4 python regex

我是一个相对较新的python用户,使用我的IDE(pycharm)得到一个时髦的错误,但是在使用cmd行时没有.

我只是:

path ='C:\Users\Dell\Downloads\users.dat'

import pandas as pd
unames = ['user_id', 'gender', 'age', 'occupation', 'zip']
users = pd.read_table(path, sep='::', header=None, names=unames)
Run Code Online (Sandbox Code Playgroud)

之后我收到一个错误,表明:

ParserWarning: Falling back to the 'python' engine because the 'c' engine does not 
support regex separators; you can avoid this warning by specifying engine='python'.
ParserWarning)
Run Code Online (Sandbox Code Playgroud)

当我将相同的命令输入到cmd行并按users预期打印数据时(即没有错误或任何时髦).

编辑:同样当我输入

ratingsdata ='C:\Users\Dell\Downloads\ratings.dat'
Run Code Online (Sandbox Code Playgroud)

我得到一个时髦IOError: [Errno 22] invalid mode ('r') or filename:不确定为什么/r在文件路径中不正常...我理解它是正则表达式,但在引用行内?

救命!

Nat*_*ggy 13

看起来像 Python 2.7 Pandas只是不处理看起来像 regexish的分隔符.如engine='python'警告中所示,可以通过在调用中添加作为命名参数来解决初始"错误" .


小智 5

看起来你正试图从"Python For Data Analysis"一书中做一个练习,我遇到了同样的问题.您所要做的就是使用双斜杠而不是单斜杠,如下所示:

path ='C:\\Users\\Dell\\Downloads\\ratings.dat'


小智 5

如果您正在使用"Python for Data Analysis"并使用PyCharm和Python 3.x,那么可以在此处指定引擎:

ratings = pd.read_table(path + '/ratings.dat', sep='::', header=None, names=rnames, engine='python')
Run Code Online (Sandbox Code Playgroud)