在阿里云天池实验室平台上进行开发时,如果要调用单个数据文件,可以通过查看挂载数据的路劲直接调用。
问题是如何进行批量调用?我当时有两种思路:
(1)改变当前代码文件目录为数据文件所在的目录,然后可以进行批量调用;
(2)不改变当前代码文件目录,获得所有数据文件的文件名,再按文件名搜索调用。
一开始由于无法获得天池实验室上数据文件的绝对路径,所以先考虑第二种方法。
menu=!ls datalab/文件夹名/
用menu获取所有要调用的数据文件的名字,然后循环读入文件。这个方法的问题是会出现文件路径正确但是无法读取。我还尝试用os.path.normpath函数保证文件夹分隔符正确,但是依然不能解决问题。
最后只能考虑应该是文件的路径不准确。用os.chdir函数改变当前代码文件目录为数据文件所在目录,然后输出当前代码文件的路径。
1 os.chdir(‘/home/tianchi/datalab/63498‘) 2 print(os.getcwd())
输出的结果就是数据文件所在目录的正确路径:
/mnt/file/opensearch/documents/文件夹名
这样就可以使用第一种方法,把这个路径放进os.chdir函数改变当前代码文件目录为数据文件所在目录,就可以进行批量调用数据文件:
1 os.chdir(‘/mnt/file/opensearch/documents/文件夹名‘) 2 df=pd.read_excel(数据文件名)
参考资料:
[1]踩坑:Python找不到指定路径的文件 最全解决方法 https://blog.csdn.net/Dian1pei2xiao3/article/details/90371168
[2]为什么python无法找到我的文件 https://zhidao.baidu.com/question/1802800104835186547.html
原文:https://www.cnblogs.com/drums/p/12937441.html