我有幾年的文件名爲day00000.nc,day00001.nc,day00002.nc,... day00364.nc。 他們代表365或366天。 我想重命名我的文件,像這樣day20070101.nc,day20070102.nc,... day20071231.nc 我該怎麼做? 謝謝將朱利安日轉換爲日期
2
A
回答
2
datetime
在朱利安轉換器構建在它的使用%j
格式說明strptime
功能。假設你的文件'day'
兩位數年份+朱利安+ extention(如果沒有,只是添加任何一年抵消你真的有)
file_date = filename[3:-3]
file_date = datetime.datetime.strptime(file_date, '%y%j').strftime('%Y%m%d')
new_filename = file_date.strftime('day%Y%m%d.nc')
瞭解如何拿到年終
year = datetime.datetime.fromtimestamp(os.path.getctime(filename)).year
file_date = datetime.datetime.strptime(filename[5:-3], '%j').replace(year=year)
new_filename = file_date.strftime('day%Y%m%d.nc')
14
使用後評論模塊從一年中的某天獲取日期。由於您的文件名似乎沒有年份值,因此我假設2007年的年份爲您的示例。如有需要,請隨意將代碼中的硬編碼2007
替換爲變量。
import datetime
oldFilename = 'day00364.nc'
day = int(oldFilename[3:-3])
date = datetime.datetime(2007, 1, 1) + datetime.timedelta(day) #This assumes that the year is 2007
newFilename = 'day%s.nc'%date.strftime('%Y%m%d')
print newFilename # prints day20071231.nc
對於那些因爲「該解決方案增加了一天」
的OP的文件編號爲0至364誰是downvoting這個答案,而不是1到365這個解決方案適用於在OP。如果您的日期從1到365,並且對您而言並不明顯,請在將日期轉換爲timedelta值之前自由減去「1」。
1
隨着GNU AWK和任何類似Bourne殼
for old in *
do
new=$(gawk -v old="$old" 'BEGIN{
secs = (gensub(/[^[:digit:]]/,"","g",old) + 1) * 24 * 60 * 60
print gensub(/[[:digit:]]+/,strftime("%Y%m%d",secs),"",old)
}')
echo mv "$old" "$new"
done
測試之後刪除 「回聲」。
相關問題
- 1. 朱利安日期轉換
- 2. 將朱利安日期轉換爲正式日曆日期
- 3. 將日期轉換爲朱利安日期
- 4. 轉換陽曆日期到朱利安
- 5. 轉換朱利安日期爲公曆日期
- 6. R轉換朱利安日期爲公曆日
- 7. Python - 將朱利安日期轉換爲月
- 8. 將朱利安格式'yyyyddd'轉換爲日期
- 9. 將日期轉換爲朱利安日期的批處理腳本
- 10. 將朱利安日轉換爲R /日/月/年
- 11. 如何朱利安轉換爲日期在Java中的 「yyDHH」
- 12. 如何將日期從dd更改爲ddd爲朱利安日?
- 13. python udf從朱連安日計算朱利安日期
- 14. 在python中計算朱利安日期
- 15. 如何將朱利安的日日和年轉換爲日期格式並計算R的使用時間
- 16. 德爾福朱利安日期至正常日期
- 17. 如何在R中將月份日期轉換爲序號日期/朱連安日?今年
- 18. 將日期轉換爲MongoDB ISO日期
- 19. 將日期轉換爲日期串行
- 20. 將MySQL日期轉換爲Java日期
- 21. 將linq日期轉換爲短日期
- 22. 將UTC日期秒轉換爲日期
- 23. PHP - 將日期轉換爲UTC日期
- 24. 將SQL日期轉換爲SAS日期
- 25. 將日期數轉換爲日期
- 26. 將日期轉換爲varchar,然後將其轉換回日期
- 27. 如何在iphone中打印NSDate作爲朱利安日曆格式化日期?
- 28. 在長文本中顯示正常日期的朱利安日期
- 29. 朱利安日期和時間到正規的日期和時間
- 30. 將DAAppearanceTime轉換爲日期
你試過了什麼? – Dhara
您的年份代表哪裏? – Ander2
他們都在同一年嗎?什麼是開始日期點? – Franko