【问题标题】:Column with end of file name python以文件名 python 结尾的列
【发布时间】:2022-01-20 09:58:52
【问题描述】:

我有一个代码可以将目录中的所有 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

给这个表提供结果

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

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

我不知道该怎么做

【问题讨论】:

    标签: python pandas filenames


    【解决方案1】:

    假设文件命名模式是不变的,你可以这样解析每次循环迭代的文件名结尾:-

    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)
    

    【讨论】:

      【解决方案2】:
      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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-24
        • 2019-07-21
        • 2022-11-28
        • 1970-01-01
        • 1970-01-01
        • 2017-03-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多