Python: la creación de dataframe con nombre de archivo y de archivo de la última modificar el tiempo

quiero leer el nombre del archivo en la carpeta que ya lo hice usando file=glob.glob... function. y añadir 'file_last_mod_t' columna últimos modificar el archivo de tiempo.

mi parte del código:

dataframe=['filename','file_last_mod_t','else']
df=pd.read_csv('dataframe')
df.set_index('filename')
df.loc['filename'] = os.path.getmtime(file)

lo que me da:

df:
filename,file_last_mod_t,else
file.txt,123456,123456

quiero añadir este último modificar el tiempo sólo para file_last_mod_t columna, no para todos.

quiero recibir :

df:
filename,file_last_mod_t,else
file.txt,123456,

gracias en asesoramiento

1 Respuestas

  • yaho cho
    4 de mayo de 2019

    Hice ejemplo dataframe archivo como el siguiente:

    filename,file_last_mod_t,else
    file.txt,,
    file2.txt,,
    

    Y, he cambiado tu df.loc['filename'] a df['file_last_mod_t'] de la siguiente manera:

    import os
    import pandas as pd
    
    df=pd.DataFrame(columns=['filename','file_last_mod_t','else'])
    df=pd.read_csv('dataframe')
    print (df)
    df.set_index('filename')
    df['file_last_mod_t'] = os.path.getmtime('dataframe')
    
    print (df)
    

    El resultado es

        filename  file_last_mod_t  else
    0   file.txt              NaN   NaN
    1  file2.txt              NaN   NaN
        filename  file_last_mod_t  else
    0   file.txt     1.556963e+09   NaN
    1  file2.txt     1.556963e+09   NaN
    

    No estoy seguro de que es la respuesta de si desea o no.

    Por último, creo que quiere que esto de la siguiente manera:

    import os
    import pandas as pd
    import datetime as dt
    
    def getmtime(x):
        x= dt.datetime.fromtimestamp(os.path.getmtime(x)).strftime("%Y-%m-%d %H:%M:%d")
        return x
    
    df=pd.DataFrame(columns=['filename','file_last_mod_t','else'])
    df=pd.read_csv('dataframe')
    print (df)
    df.set_index('filename')
    df['file_last_mod_t'] = df['filename'].apply(lambda x: getmtime(x))
    
    print (df)
    

    El resultado es

        filename  file_last_mod_t  else
    0   file.txt              NaN   NaN
    1  file2.txt              NaN   NaN
        filename      file_last_mod_t  else
    0   file.txt  2019-05-04 18:49:04   NaN
    1  file2.txt  2019-05-04 18:51:04   NaN