使用 pd.read_excel 忽略部分文件名
Ignoring Part of Filename Using pd.read_excel
我是 Python 和 Pandas 的新手,正在寻求帮助。
我编写了 Python 代码以读取每月 Excel 文件、处理数据并将其附加到另一个文件。我的问题是每个月原始文件都会重命名以匹配生成的年份和日期,例如上个月是“2022 McCarthy LEM_2022 Financial Reporting_20220329。”
有没有办法使用 pd.read_excel 并让它在包含“McCarthy”、“LEM”或“Financial Reporting”的文件夹中提取任何 .xlsx 文件名?
我目前只使用简单的代码:
pd.read_excel("2022 McCarthy LEM_2022 Financial
Reporting_20220329.xlsx", sheet_name = "2022 Billable Work Order
Data")
或者我应该采取其他方法来解决这个问题?
理想情况下,我会通过电子邮件收到报告,将报告保存到文件夹中,然后想启动 Python 脚本,而不必在代码中更改文件名。
感谢您的任何想法和帮助!
您可以使用 glob
之类的东西,它包含在 python 标准库中。
import glob
substring_list = ["McCarthy", "LEM", "Financial Reporting"]
file_lists = glob.glob("path/to/directory/*.xlsx")
for file in file_lists:
if any(substring in file for substring in substring_list):
pd.read_excel(file, sheet_name = "2022 Billable Work Order Data")
我使用了更基本的方法来检查子字符串是否在字符串中,而不是正则表达式,但是 glob
也可以接受正则表达式,因此您可以那样做。但是,如果您只对一组特定的子字符串感兴趣,那么这可能更容易理解并在需要时进行更改。
我是 Python 和 Pandas 的新手,正在寻求帮助。
我编写了 Python 代码以读取每月 Excel 文件、处理数据并将其附加到另一个文件。我的问题是每个月原始文件都会重命名以匹配生成的年份和日期,例如上个月是“2022 McCarthy LEM_2022 Financial Reporting_20220329。”
有没有办法使用 pd.read_excel 并让它在包含“McCarthy”、“LEM”或“Financial Reporting”的文件夹中提取任何 .xlsx 文件名?
我目前只使用简单的代码:
pd.read_excel("2022 McCarthy LEM_2022 Financial
Reporting_20220329.xlsx", sheet_name = "2022 Billable Work Order
Data")
或者我应该采取其他方法来解决这个问题?
理想情况下,我会通过电子邮件收到报告,将报告保存到文件夹中,然后想启动 Python 脚本,而不必在代码中更改文件名。
感谢您的任何想法和帮助!
您可以使用 glob
之类的东西,它包含在 python 标准库中。
import glob
substring_list = ["McCarthy", "LEM", "Financial Reporting"]
file_lists = glob.glob("path/to/directory/*.xlsx")
for file in file_lists:
if any(substring in file for substring in substring_list):
pd.read_excel(file, sheet_name = "2022 Billable Work Order Data")
我使用了更基本的方法来检查子字符串是否在字符串中,而不是正则表达式,但是 glob
也可以接受正则表达式,因此您可以那样做。但是,如果您只对一组特定的子字符串感兴趣,那么这可能更容易理解并在需要时进行更改。