【问题标题】:(python) read specific type of .xlsx file name in a folder(python) 读取文件夹中特定类型的 .xlsx 文件名
【发布时间】:2022-01-04 08:00:57
【问题描述】:

我搜索了一些相关的讨论,例如 Read most recent excel file from folder PYTHON 但是,它不太符合我的要求。

假设我有一个包含以下 .xlsx 文件的文件夹

我想读取名称为“T2xxMhz”的文件,即最后 7 个文件。

我有以下代码

import os
import pandas as pd

folder = r'C:\Users\work'    # <--- find the folder
files = os.listdir(folder)   # <--- find files in the folder 'work'
dfs ={}
for i, file in enumerate(files):
        if file.endswith('.xlsx'):
            dfs[i] = pd.read_excel(os.path.join(folder,file), sheet_name='Z=143', header = None, skiprows=[0], usecols = "B:M")   # <--- read specific sheet with the name 'Z=143'

num = i + 1   # <--- number of files.

但是在这段代码中,我无法区分两种类型的文件名“PYTEST”和“T2XXX”。

如何处理这个问题?请有任何建议和提示!

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    使用 glob 包。允许多次使用正则表达式

    import glob
    dir = 'path/to/files/'
    flist = glob.glob(dir + 'T*Mhz*')
    print(flist)
    

    【讨论】:

    • 我刚试过你的方法;但是,它显示“[]”。我应该使用“T*Mhz”吗?还是只是“T”,因为 T 后面的数字不同?谢谢!
    • Mhz 之后也有一个开始。 T* - T 之后的任何内容。 T*Mhz - T 之后的任何内容,必须跟随 Mhz。 T*Mhz* - T 之后的任何内容,然后是 Mhz,然后是任何内容 - 在这种情况下是文件的扩展名。
    猜你喜欢
    • 2016-02-16
    • 2013-08-10
    • 2023-03-22
    • 1970-01-01
    • 2016-10-02
    • 2013-08-08
    • 1970-01-01
    • 2022-12-23
    • 2020-10-31
    相关资源
    最近更新 更多