我有一個運行良好的 yfinance 下載,但我希望在寫入磁盤時日期列采用 YYYY/MM/DD 格式。
Date 列是索引,所以我先洗掉索引。然后我嘗試使用熊貓“to_datetime”和“.str.replace”來獲取要格式化為 YYYY/MM/DD 的列資料。
這是代碼:
import pandas
import yfinance as yf
StartDate_T = '2021-12-20'
EndDate_T = '2022-05-14'
df = yf.download('CSCO', start=StartDate_T, end=EndDate_T, rounding=True)
df.sort_values(by=['Date'], inplace=True, ascending=False)
df.reset_index(inplace=True) # Make it no longer an Index
df['Date'] = pandas.to_datetime(df['Date'], format="%Y/%m/%d") # Tried this, but it fails
#df['Date'] = df['Date'].str.replace('-','/') # Tried this also - but error re str
file1 = open('test.txt', 'w')
df.to_csv(file1, index=True)
file1.close()
尋求幫助。謝謝你。
uj5u.com熱心網友回復:
重置索引后更改日期格式
df.reset_index(inplace=True)
df['Date'] = df['Date'].dt.strftime('%Y/%m/%d')
如前所述,將 datetime 轉換為另一種格式而不更改 dtypedatetime ,由于內部存盤日期的方式,您無法更改格式并保留時間格式。所以我會在寫入檔案之前使用上面的行(然后將列更改為字串格式)并將其轉換回 datetime 以具有 datetime 屬性。
df['Date'] = pd.to_datetime(df['Date'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/474494.html
