我有这个文件名作为我的 Dataframe 的数据源
file_name = 2900-ABC Project-20210525-Data 1
我想得到4的第一个数字作为一个新的列,名为ID,还有文件名中的日期作为新的列,名为event_date。预期结果将是:
ID
id event_date 2900 2021-05-25
如何在python中使用它?
xqk2d5yq1#
除了正则表达式之外,这可以用str.split()来完成:
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]})
knpiaxh12#
使用str.extract和str.replace:
str.extract
str.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')
2条答案
按热度按时间xqk2d5yq1#
除了正则表达式之外,这可以用
str.split()
来完成:knpiaxh12#
使用
str.extract
和str.replace
: