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‘)来修改工作目录。