pandas 从文件名中提取ID和日期

zpf6vheq  于 2023-04-19  发布在  其他
关注(0)|答案(2)|浏览(127)

我有这个文件名作为我的 Dataframe 的数据源

file_name = 2900-ABC Project-20210525-Data 1

我想得到4的第一个数字作为一个新的列,名为ID,还有文件名中的日期作为新的列,名为event_date。
预期结果将是:

id     event_date
2900   2021-05-25

如何在python中使用它?

xqk2d5yq

xqk2d5yq1#

除了正则表达式之外,这可以用str.split()来完成:

import datetime as dt
import pandas as pd

file_name = '2900-ABC Project-20210525-Data 1'

file_split = file_name.split('-')
id_value = int(file_split[0])
date = dt.datetime.strptime(file_split[2], '%Y%m%d').date()

df = pd.DataFrame(data={'id': [id_value], 'event_date': [date]})
knpiaxh1

knpiaxh12#

使用str.extractstr.replace

df["id"] = df["file_name"].str.extract(r'^(\d+)')
df["event_date"] = df["file_name"].str.replace(r'^.*-(\d{4})(\d{2})(\d{2})-.*$', r'\1-\2-\3')

相关问题