我目前的 df 看起來像 -
Company State Address Zip City
ABC CA 1 st 86284 LA
所有這些資料都是從每月放置在目錄中的檔案中提取的。
我想要另一串列示檔案在目錄中創建/洗掉的月份減去 1(檔案日期減去 1 個月)。所以基本上,如果檔案是在 22 年 5 月 5 日創建的。我想要下面的
Company State Address Zip City File Month
ABC CA 1 st 86284 LA 04-2022
我的嘗試——
import datetime
import os
# Path to the file
path = r"E:\demos\files_demos\sample.txt"
# file creation timestamp in float
c_time = os.path.getctime(path)
# convert creation timestamp into DateTime object
dt_c = datetime.datetime.fromtimestamp(c_time)
df['File Month'] = dt_c
2022-05-05 17:21:57.914774
但這給了我上述資訊。有一個更好的方法嗎?
uj5u.com熱心網友回復:
您可以從日期時間物件計算上個月并將其轉換為所需的字串格式
df['File Month'] = (dt_c.replace(day=1) - datetime.timedelta(days=1)).strftime("%m-%Y")
Company State Address Zip City File Month
0 ABC CA 1 st 86284 LA 04-2022
uj5u.com熱心網友回復:
pd.tseries.offsets.MonthEnd您可以從每個日期中減去 a ,然后使用strftime:
df['File Month'] = df['File Month'].sub(pd.tseries.offsets.MonthEnd()).dt.strftime('%m-%Y')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472620.html
上一篇:以特定方式拆分日期范圍的問題
