たとえば、28個のファイルがあります:-
ファイル ->day01.nc
ファイル内:-
| lat | lon | date |
| --- | --- | -------- |
| 7 | 68 | 2021-02-01|
| 7 | 69 | 2021-02-01|
ファイル ->day02.nc
ファイル内:-
| lat | lon | date |
| --- | --- | -------- |
| 7 | 68 | 2021-02-02|
| 7 | 69 | 2021-02-02|
ファイル ->day28.nc
ファイル内:-
| lat | lon | date |
| --- | --- | -------- |
| 7 | 68 | 2021-02-28|
| 7 | 69 | 2021-02-28|
Pythonスクリプトを使用して、、、...などtemp_ind20210201.nc
の日付形式に従って名前を変換したい。temp_ind20210202.nc
temp_ind20210328.nc
注:-そのday01.nc
ファイル内の日付形式は次のよう2021-02-01
になります。やってみた :-
DATA_DIR = 'data'
today = datetime.datetime.now()
offset_1day = datetime.timedelta(days=1)
re_number = re.compile('day(\d{,2})\.nc')
for fname in glob.glob(DATA_DIR + "/*.nc"):
number_string = re_number.search(fname)
if not number_string:
continue
number_of_days = int(number_string.group(1))
str_timestamp = (today + (number_of_days - 1) * offset_1day).strftime("%Y%m%d")
new_fname = f"{DATA_DIR}/temp_ind{_str_timestamp}.nc"
print(f'{fname} -> {new_fname}')
os.rename(fname, new_fname)