加上 r 就是保持字符串原始值的含义
,即不对其中的符号进行转义
。
因为windows下的目录字符串中通常有斜杠道 “\”,而斜杠在 Python 的字符串中有转义的作用。
例如:\n 表示换行如果路径中有 \new 就会被转义。\t 表示横向制表符,如果路径中有 \title 就会被转义.
加上 r 就是为了避免这种情况
如下例子
minute_data = pd.read_csv('D:\资料\today\data.csv', encoding='gbk')
报下面的错
OSError: [Errno 22] Invalid argument:
‘D:\\资料\\today\data.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:\资料\today\data.csv', encoding='gbk')
解决方式3
minute_data = pd.read_csv('D:/资料/today/data.csv', encoding='gbk')
将 \ 换为 / ,或者 \\,这是因为Python中\t为换行符,而无法识别。