python ipython [Errno 22] invalid mode ,'rb' or filename 、IDE工作路径

在sumlime 同文件夹使用pandas 读取xls文件,路径直接用名字、绝对路径都可以

像这样:

path_ = ur"D:\exchange_\jiaoyizijin2016_09.xls"

,或者 path_ =“jiaoyizijin2016_09.xls”

    path_ = r"D:\exchange_\jiaoyizijin2016_09.xls"

    path_ = 'D:\exchange_\jiaoyizijin2016_09.xls'

  u ,代表是unicode,路径中有中文,在utf-8编码中就需要u来说明;

  r,是让路径中的“\” 不转义,“\t”,这样是代表制位符。

但是在 ipython中就是不行。

报错 IOError: invalid mode ('r') or filename

就分是否u,r,\ ,8种路径方式

错误 error22 路径方式

x9 = pd.read_excel(r'‪D:\exchange_\jiaoyizijin2016_09.xls' ,encoding='gbk')

x9 = pd.read_excel('‪D:\exchange_\jiaoyizijin2016_09.xls' ,encoding='gbk')

x9 = pd.read_excel('‪D:/exchange_/jiaoyizijin2016_09.xls' ,encoding='gbk')

x9 = pd.read_excel(r'‪D:/exchange_/jiaoyizijin2016_09.xls' ,encoding='gbk')

带u的都可以:

x10 = pd.read_excel(u'D:\exchange_\jiaoyizijin2016_10.xls' ,encoding='gbk')

ok

x10 = pd.read_excel(ur'D:\exchange_\jiaoyizijin2016_10.xls' ,encoding='gbk')

ok

x10 = pd.read_excel(u'D:/exchange_/jiaoyizijin2016_10.xls' ,encoding='gbk')

ok

x10 = pd.read_excel(ur'D:/exchange_/jiaoyizijin2016_10.xls' ,encoding='gbk')

ok

带u 的都正常。这说明是编码问题啊,ur都加上比较保险。

此外,x10 = pd.read_excel('D:\exchange_\jiaoyizijin2016_10.xls' ,encoding='gbk'),也正常

坑爹啊,'D:\exchange_\jiaoyizijin2016_10.xls',换了文件'‪D:\exchange_\jiaoyizijin2016_09.xls' 就报错了,,。

IOError: [Errno 13] Permission denied: 'x_9-10.xlsx'

不允许写入,除了已经打开了同名文件,权限锁定外,和Windows文件目录权限有关;一旦ipython写入的目录被Windows系统锁定读写权限时,是不能IO的,写入就会“IOError: [Errno 13] Permission denied: ”

这个写入时就得使用绝对路径,并且路径没有被Windows系统限制读写权限;想直接文件名读取写入,可以用os.chdir('path')来修改工作目录。