适应python脚本的变量文件名

2024-10-03 06:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须读取多个文件名,作为python脚本的输入。但是输入文件可能有变量名,这取决于它生成的时间

File1: RM_Sales_Japan_2011201920191124194200.xlsx
File2: RM_Volume_Australia_201120192019154321194200.xlsx

如何在读取文件时适应这些更改,而不是每次运行脚本时都精确地指定文件名

我尝试过的事情: 我在以前的脚本中使用了以下方法,因为它只有一个具有已知扩展名的文件:

xlsxfile = "*.xlsx"
filelocation = "/user/script/" + xlsxfile

但对于多个具有类似扩展名的文件,我不确定如何完成定义

编辑1:

我试图更清楚地使用glob和read\u excel。请参见下面的示例代码:

import os
import glob
import pandas as pd
os.chdir ('D:\\Users\\RMoharir\\Downloads\\Smart Spend\\Input')

fls=glob.glob("Medical*.*")

df1 = pd.read_excel(fls, parse_cols = 'A:H', skiprows = 10, header = None)

但这给了我一个错误:

ValueError: Invalid file path or buffer object type: <class 'list'>

感谢您的帮助


Tags: 文件rmimport脚本reados文件名时间
1条回答
网友
1楼 · 发布于 2024-10-03 06:20:21

如果您只需要在目录中查找与给定模式匹配的所有文件,osre模块已经介绍过了

import os
import re

files = os.listdir()

for file in files:
    if re.match(r".*\.xlsx$", file):
        print(file)

这个简短的程序将打印出当前目录中名称以.xslx结尾的每个文件。如果您需要匹配更复杂的模式,您可能需要阅读Regular Expressions

请注意,os.listdir接受一个可选的字符串参数来指定要查找的路径,如果没有给定,它将查找运行程序的目录

相关问题 更多 >