文件名结尾的列 python

Column with end of file name python

我有一个代码可以将一个目录中的所有 txt 文件合并到一个数据框中

按照下面的代码

import pandas as pd
import os
import glob

diretorio = "F:\PROJETOS\LOTE45\ARQUIVOS\RISK\RISK_CUSTOM_FUND_N1" 
files = [] 

files = [pd.read_csv(file, delimiter='\t')
     for file in glob.glob(os.path.join(diretorio ,"*.txt"))]


df = pd.concat(files, ignore_index=True)
df

给出结果 table

我需要向此 table 添加一个日期列,但我只有文件名末尾的可用日期。

如何获取文件名末尾的日期并将其放入数据框中。

我不知道该怎么做

假设文件命名模式不变,您可以通过这种方式为循环的每次迭代解析文件名的结尾:-

from datetime import datetime

files = []

for file in glob.glob(os.path.join(diretorio ,"*.txt")):
  df_f = pd.read_csv(file, delimiter='\t')
  df_f['date'] = datetime.strptime(file[-11:-4], "%d%m%Y")
  files.append(df_f)

df = pd.concat(files, ignore_index=True)
import pandas as pd
import os

diretorio = "F:/PROJETOS/LOTE45/ARQUIVOS/RISK/RISK_CUSTOM_FUND_N1/"
files = []
for filename in os.listdir(diretorio):
    if filename.endswith(".csv"):
        df = pd.read_csv(diretorio + filename, sep=";")
        df['Date'] = filename.split('.')[0].split("_")[-1]
        files.append(df)
df = pd.concat(files, ignore_index=True)
print(df)