加上 r 就是保持字符串原始值的含义,即不对其中的符号进行转义。
因为windows下的目录字符串中通常有斜杠道 “”,而斜杠在 Python 的字符串中有转义的作用。
例如:n 表示换行如果路径中有 new 就会被转义。t 表示横向制表符,如果路径中有 title 就会被转义.
加上 r 就是为了避免这种情况
如下例子
minute_data = pd.read_csv('D:资料todaydata.csv', encoding='gbk')
报下面的错
OSError: [Errno 22] Invalid argument:
‘D:\资料\todaydata.csv’
出现这种错误的原因是由于读取不到这个文件,看Traceback报的错误,最后一行,很明显读取不到 data.csv,前面的 D:\资料\today 没错,后面的下划线怎么变了,变成单下划线。
解决方式1
minute_data = pd.read_csv('D:\资料\today\data.csv', encoding='gbk')
解决方式2
minute_data = pd.read_csv(r'D:资料todaydata.csv', encoding='gbk')
解决方式3
minute_data = pd.read_csv('D:/资料/today/data.csv', encoding='gbk')
将 换为 / ,或者 \,这是因为Python中t为换行符,而无法识别。
参考链接
[1] Python转义字符及用法 2022.5