ファイルのメタデータから作成日時を取得するコードを書きました。以前画像データ処理に関する記事でも取り上げています。
st_birthtimeはmacOSを含むUNIX系限定の機能です。
import glob,csv,datetime,pathlib
# 2017年から2019年のhorseファイルから仮馬名(誕生年を含む名前)を抽出する
for year in range(2017,2020):
for f in glob.glob(f'/horse_racing/horse/horse{year}.csv'):
# ファイルのメタデータから作成日時を取得
p = pathlib.Path(f)
dt = datetime.datetime.fromtimestamp(p.stat().st_birthtime)
dt_str = dt.strftime('%y%m%d%H%M')
# 新ファイルの先頭に元ファイルの作成日時を付ける
file_new = f'/horse_racing/test/{dt_str}_horse{year}_check.csv'
# 馬名に数字を含む場合、horseIDと仮馬名を抽出してCSVファイルを作成する
with open (f, mode="r", encoding="shift_jis") as f1:
with open(file_new, mode="w", encoding="shift_jis") as f2:
writer = csv.writer(f2)
writer.writerow(['horseID','仮馬名'])
for row in csv.reader(f1):
if any(chr.isdigit() for chr in row[1]):
writer.writerow([row[0],row[1].replace('\u3000','')])