如何根据目录中以特定名称开头的文件获取日期时间?
How do I get datetime based on files in my directory that starts with a certain name?
我的代码-
for file in os.listdir("C:/Users/hhh/Desktop/autotranscribe/python/Matching"):
if file.startswith("Master"):
dfs = pd.read_excel(file, sheet_name=None)
output = dict()
for ws, df in dfs.items():
if ws in ["Added"]:
continue
if ws in ["All Members", "Terms"]:
temp = df
>temp
Company State Address Zip City
ABC CA 1 st 86284 LA
我想要另一列表示文件在目录中 created/dropped 的月份减 1(文件日期减 1 个月)。所以基本上,如果文件是在 22 年 5 月 5 日创建的。我想要下面的
Company State Address Zip City File Month
ABC CA 1 st 86284 LA 04-2022
我的尝试-
import datetime
path = "C:/Users/hhh/Desktop/autotranscribe/python/Matching"
# file creation timestamp in float
c_time = os.path.getctime(path)
# convert creation timestamp into DateTime object
dt_c = datetime.datetime.fromtimestamp(c_time)
temp['File Month'] = (dt_c.replace(day=1) - datetime.timedelta(days=1)).strftime("%m-%Y")
但这仅在我设置路径时有效,而在我的情况下无效,因为您在上面看到的我的路径基于以 'Master' 开头的文件名。我只希望它基于文件名而不是基于 os 路径,因为 os 路径每天都会在其中创建多个文件。我该怎么做?
将更改时间的代码移到 for
循环中。另外,您不需要 datetime
。 pandas
有你需要的所有操作。
path = "C:/Users/hhh/Desktop/autotranscribe/python/Matching"
for file in os.listdir(path):
if file.startswith("Master"):
dfs = pd.read_excel(file, sheet_name=None)
output = dict()
for ws, df in dfs.items():
if ws in ["Added"]:
continue
if ws in ["All Members", "Terms"]:
temp = df
dt = pd.to_datetime(os.path.getctime(os.path.join(path,file)),unit="s").replace(nanosecond=0)
temp['File Month'] = (dt.replace(day=1)-pd.DateOffset(days=1)).strftime("%m-%Y")
我的代码-
for file in os.listdir("C:/Users/hhh/Desktop/autotranscribe/python/Matching"):
if file.startswith("Master"):
dfs = pd.read_excel(file, sheet_name=None)
output = dict()
for ws, df in dfs.items():
if ws in ["Added"]:
continue
if ws in ["All Members", "Terms"]:
temp = df
>temp
Company State Address Zip City
ABC CA 1 st 86284 LA
我想要另一列表示文件在目录中 created/dropped 的月份减 1(文件日期减 1 个月)。所以基本上,如果文件是在 22 年 5 月 5 日创建的。我想要下面的
Company State Address Zip City File Month
ABC CA 1 st 86284 LA 04-2022
我的尝试-
import datetime
path = "C:/Users/hhh/Desktop/autotranscribe/python/Matching"
# file creation timestamp in float
c_time = os.path.getctime(path)
# convert creation timestamp into DateTime object
dt_c = datetime.datetime.fromtimestamp(c_time)
temp['File Month'] = (dt_c.replace(day=1) - datetime.timedelta(days=1)).strftime("%m-%Y")
但这仅在我设置路径时有效,而在我的情况下无效,因为您在上面看到的我的路径基于以 'Master' 开头的文件名。我只希望它基于文件名而不是基于 os 路径,因为 os 路径每天都会在其中创建多个文件。我该怎么做?
将更改时间的代码移到 for
循环中。另外,您不需要 datetime
。 pandas
有你需要的所有操作。
path = "C:/Users/hhh/Desktop/autotranscribe/python/Matching"
for file in os.listdir(path):
if file.startswith("Master"):
dfs = pd.read_excel(file, sheet_name=None)
output = dict()
for ws, df in dfs.items():
if ws in ["Added"]:
continue
if ws in ["All Members", "Terms"]:
temp = df
dt = pd.to_datetime(os.path.getctime(os.path.join(path,file)),unit="s").replace(nanosecond=0)
temp['File Month'] = (dt.replace(day=1)-pd.DateOffset(days=1)).strftime("%m-%Y")