python で該当ファイルを取り出したいので、ファイル名の一部を取り出し日付判定をしたいです。日付の部分は下記、太字で表した部分になります。
前後4桁のみ取り出したいです。
真ん中の4桁は抽出したくないですが、この部分を正規表現で上手く表現する方法が思いつかないので教えてほしいです。
ファイル名:
Y1s_202212340703.csv
python
1import glob 2import path 3 4basepath = f'C:\\Users\\desktop\\test' 5 6for file in glob.glob(f'{basepath}/*_(.\d{4})*(.\d{4}).csv'):
for f in glob.glob(f'{basepath}/*_[0-9][0-9][0-9][0-9]????[0-9][0-9][0-9][0-9].csv'):
ファイル名の桁数は質問の例以外にはならないですか?例えば中間4桁が3桁や5桁になる、です。
参考:
https://www-creators.com/archives/3776
---
私であれば正規表現になじみがないので、正規表現に拘らず(「諦める」を聞こえ良くしただけです)ファイル名をチェックする関数をfor文の外側に定義して、それをfor文で全CSVファイルを読み出すときに「if ファイル名をチェックする関数:」みたいな感じで条件を振ります。(3-5分もあれば思うような機能は実装できますね)
回答1件
あなたの回答
tips
プレビュー