gpt4 book ai didi

python - 从文件名中提取日期并添加为列

转载 作者:行者123 更新时间:2023-12-04 09:58:50 26 4
gpt4 key购买 nike

我有多个文件要制作成 df 并合并/附加到单个 df 中。这些文件具有共同的文件名模式,即“SWAT [Jan 01,2026]^URTW_L3 的平均 map ”。我已经通读了所有文件并附加到一个文件中,并添加了带有文件名的列。
但是,对于如何在列中显示日期 [2026 年 1 月 1 日] 而不是完整的文件名感到困惑。本质上,想要将文件名中的日期提取到附加的最终 df 中的日期时间格式的列中。
正则表达式方法是首选,因为我想学习如何。

import glob
import os
import re
import pandas as pd
myfiles = glob.glob("C:\\Users\\x\\AnacondaProjects\\VORONOI\\test\\*")

col_names = ['X','Y','SW','i']
df = pd.DataFrame()
for file_ in myfiles:
file_df = pd.read_csv(file_,sep=' ',names=col_names, header=None)
file__=os.path.split(file_)
file_df['file_name'] = file__[1]
df = df.append(file_df)
df.to_csv('merged.csv',index=False,header=True)

Exampe of df so far:-

X Y SW i file_name
4 3 1 1 average map for SWAT [Jan 01,2026]^URTW_L3
2 1 1 2 average map for SWAT [Jan 01,2027]^URTW_L3

最佳答案

使用 pathlib dateparser 图书馆:

from pathlib import Path
from dateparser import parse as dateparse

for file in Path("C:\\Users\\x\\AnacondaProjects\\VORONOI\\test").glob("*"):
file_name = file.stem
date = dateparse(file_name)

关于python - 从文件名中提取日期并添加为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61869909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com