从文件夹Python中抓取最后一个文件



这是一个完整的编辑,因为我发现了我的问题,但我仍然无法解决这个问题。

我正在尝试构建一个函数,根据用户输入从文件夹中获取最后一个文件,并将其转换为数据帧。我有多个文件夹被分配为常量。我发现的问题是寻找最新的文件,我认为这会把事情搞砸,因为我一次修改多个文件,把它们最后一次修改的时间改为同一时间。即使在那时,我也尝试过,但它只打印出变量,path1带回了C:UsersUSERPycharmProjectsCorona StatsCountry Series,而不是04-27-2020.csv

如果我输入"Country",它应该返回最后一个命名的文件,或者根据排序,从path1返回第一个命名的04-27-2020

import pandas as pd
import os
from matplotlib import pyplot as plt
import matplotlib
import glob
path1 = r"C:UsersUSERPycharmProjectsCorona StatsCountry Series"
path2 = r"C:UsersUSERPycharmProjectsCorona StatsUS Series"
path3 = r"C:UsersUSERPycharmProjectsCorona StatsUS State Series"
path4 = r"C:UsersUSERPycharmProjectsCorona StatsUS County Series"
def top_cases():
top_num = int(input("You're looking for the top...n"))
if series == 'Country':
# this is where I realized I wasn't grabbing the right target
x = df.sort_values(by='Confirmed', ascending=False)
x = df['Country'].head(top_num)

sort_values与DataFrame配合使用,您正在将其与Series配合使用(这是错误的原因:sort_values() got an unexpected keyword argument 'by'(

我建议你修改top_cases内部的功能:

if series == 'Country':
df = daily_framer(path1)
x = df.sort_values(by=['Confirmed','Country'], ascending=True).head(top_num)
elif series == 'US State':
df = daily_framer(path3)
x = df.sort_values(by=['Confirmed','State'], ascending=True).head(top_num)
elif series == 'US County':
df = daily_framer(path4)
x = df.sort_values(by=['Confirmed','County'], ascending=True).head(top_num)

相关内容

最新更新