[英]Python accessing excel files from jupyter notebook in separate folder
根據標題,我無法根據文件名訪問另一個文件夾中的某些 excel 文件。
我有一個文件夾,其中包含一堆共享一個通用名稱的 excel 文件,但所有文件都附加了一個單獨的日期戳作為后綴,格式為/files/filename_%d%m%Y
.xlsx 給我一個這樣的目錄:
├── files
│ ├── filename_10102021.xlsx
│ ├── filename_07102021.xlsx
│ ├── filename_11102021.xlsx
│ └── filename_14102021.xlsx
├── notebooks
│ └── my_notebook.ipynb
從my_notebook.ipynb
文件中,我想導航到files
目錄,並根據后綴日期獲取 2 個最新的 excel 文件,並將它們作為 pandas dfs 在筆記本中打開,以便我可以比較各列的任何差異。 在我上面提供的目錄中,我將獲得的 2 個文件是filename_14102021.xlsx
和filename_11102021.xlsx
但希望該解決方案能夠動態工作,因為隨着時間的推移,文件夾會獲取具有新日期的新文件。 (所以硬編碼這兩個名字是行不通的)
我的第一個想法是做這樣的事情:
import os
import sys
import pandas as pd
sys.path.append('../files')
files = sorted(os.listdir(), reverse=True)
most_recent_df = pd.read_excel(files[0], engine='openpyxl', index_col=0)
second_most_recent_df = pd.read_excel(files[1], engine='openpyxl', index_col=0)
然后在數據幀之間進行比較。
但是,即使使用sys.path.append
,此代碼也無法執行我想要的操作, os.listdir
函數返回 notebooks 目錄的列表,它告訴我問題出在os.listdir
行中:
sys.path.append('../files')
files = sorted(os.listdir(), reverse=True)
如何修復我的代碼以移動到 files 目錄,以便返回所有 excel 文件的列表?
謝謝你!
它應該直接使用
files = sorted(os.listdir(r'path\to\folder'), reverse=True)
海事組織你不需要使用sys.path.append
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.