Python访问单独文件夹中jupyter notebook中的excel文件



根据标题,我在另一个文件夹中访问某些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的形式打开它们,以便我可以比较列中的任何差异。在我上面提供的目录中,我将获得的两个文件是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函数返回笔记本目录的列表,告诉我问题在于这2行:

sys.path.append('../files')
files = sorted(os.listdir(), reverse=True)

如何修复我的代码移动到文件目录,这样所有excel文件返回的列表吗?

谢谢!

应该可以直接使用

files = sorted(os.listdir(r'pathtofolder'), reverse=True)

在我看来你不需要使用sys.path.append

相关内容

  • 没有找到相关文章

最新更新