<p>我建议使用<a href="https://docs.python.org/3/library/pathlib.html" rel="nofollow noreferrer">pathlib</a>。如果所有文件都在一个文件夹中:</p>
<pre><code>from pathlib import Path
from fnmatch import fnmatch
folder = Path('name of folder')
</code></pre>
<p>使用glob搜索文件。我还建议使用<a href="https://docs.python.org/3.8/library/fnmatch.html#fnmatch.fnmatch" rel="nofollow noreferrer">fnmatch</a>来包含扩展名为大写字母的文件</p>
<p><a href="https://docs.python.org/3/library/pathlib.html#pathlib.Path.iterdir" rel="nofollow noreferrer">iterdir</a>允许您遍历文件夹中的文件<br/><br/>
<a href="https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.name" rel="nofollow noreferrer">name</a>是pathlib中的一个方法,它以字符串格式提供文件名<br/>
<br/>使用str lower方法可以确保捕获诸如XLSX之类的扩展,它是大写的</p>
<pre><code> excel_only_files = [xlsx for xlsx in folder.iterdir()
if fnmatch(xlsx.name.lower(),'asterix_*.xlsx')]
</code></pre>
<p>或</p>
<pre><code>#you'll have to test this, i did not put it though any tests
excel_only_files = list(folder.rglob('Asterix_*.[xlsx|XLSX]')
</code></pre>
<p>从那里,您可以运行列表理解来读取文件:</p>
<pre><code> dataframes = [pd.read_excel(f) for f in excel_only_files]
</code></pre>