通过变量创建数据框

时间:2019-07-24 19:51:55

标签: python function dataframe variables

我编写了一个使用get_latest_file从文件夹中获取最新文件的函数。看起来像这样:

def get_latest_file(path, *paths):

这个名为path的变量只是文件所在的路径,而*paths是实际文件本身。我已经设定:

file = get_latest_file(path, '*000.xls')

我想将file变成一个数据框。我该怎么办?

我尝试使用pd.DataFrame(file),也尝试做pd.read_excel

import pandas as pd
from datetime import datetime
import glob
import os

def get_latest_file(path, *paths):
    fullpath = os.path.join(path, *paths)
    list_of_files = glob.iglob(fullpath)
    if not list_of_files: 
            return None
    latest_file = max(list_of_files, key = os.path.getctime)
    _, filename = os.path.split(latest_file)
    return filename

path = r'\\filepath'

file = get_latest_file(path, '*000.xls')
print (file)

df = pd.DataFrame(file)
print(df)

注释

上面代码中的

filepath不是实际路径,000.xls不是实际文件名

1 个答案:

答案 0 :(得分:0)

不确定我是否理解您的问题,可能必须将功能定义中的*paths解释为通配符(我认为是您的意图),而不是传递可变数量的位置参数。参见例如https://pythontips.com/2013/08/04/args-and-kwargs-in-python-explained/

请注意,*args只是约定俗成的,它是执行魔术的星号。因此,在您的情况下,*paths被解释为可变数量的参数,可以使用paths[0]paths[1]等在函数主体中访问

希望这会有所帮助。