在阿里雲天池實驗室平台上進行開發時,如果要調用單個數據文件,可以通過查看掛載數據的路勁直接調用。
問題是如何進行批量調用?我當時有兩種思路:
(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