簡體   English   中英

Python從單獨文件夾中的jupyter筆記本訪問excel文件

[英]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.xlsxfilename_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM