容纳python脚本的变量文件名

时间:2019-11-25 05:00:23

标签: python pandas

我必须读取多个文件名,这些文件名将被当作python脚本的输入。但是输入文件的名称可能取决于生成时间。

File1: RM_Sales_Japan_2011201920191124194200.xlsx
File2: RM_Volume_Australia_201120192019154321194200.xlsx

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

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

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

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

EDIT1:

我试图在将glob与read_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'>

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果只需要查找目录中与给定模式匹配的所有文件,则可以使用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带有一个可选的字符串参数,用于查找要查找的路径,如果没有给出,它将在程序运行的目录中查找