Я хочу прочитать имя файла в папке, которую я уже сделал, используя функцию file=glob.glob...
.
и добавьте в столбец 'file_last_mod_t'
время последнего изменения файла.
моя часть кода:
df=pd.DataFrame(columns=['filename','file_last_mod_t','else'])
df.set_index('filename')
for file in glob.glob('folder_path'): #inside this folder is file.txt
file_name=os.path.basename('folder_path')
df.loc[file_name]= os.path.getmtime(file)
, что дает мне:
df:
filename,file_last_mod_t,else
file.txt,123456,123456 #123456 its time result example
Я хочу добавить это время последнего изменения только в столбец file_last_mod_t
, но не для всех.
Я хочу получить:
df:
filename,file_last_mod_t,else
file.txt,123456,
спасибо за совет
после изменения кода:
df=pd.read_csv('C:/df.csv')
filename_list= pd.Series(result_from_other_definition)# it looks same as in #filename column
df['filename']=filename_list # so now i have dataframe with 3 columns and firs column have files list
df.set_index('filename')
for file in glob.glob('folder_path'):#inside this folder is file.txt
df['file_last_mod_t']=df['filename'].apply(lambda x: (os.path.getmtime(x)) #the way how getmtime is present is now no matter, could be #float numbers
df.to_csv('C:/df.csv')
# образцы печати:
первый запуск:
df['filename']=filename_list
print (df)
,'filename','file_last_mod_t','else'
0,file1.txt,NaN,NaN
1,file2.txt,NaN,NaN
Код
выше работает нормально после первого запуска, когда df пуст, только с заголовками.
после следующего запуска, когда я запускаю код и df.csv
имеет некоторое содержимое i am changing manually value of timestamp in file
, я получаю сообщение об ошибке: TypeError: stat: path should be string, bytes, os.PathLike or integer,not float
этот код должен заменить вручную измененную ячейку с хорошей временной меткой. я думаю, что это связано с apply
Также я не знаю, почему индекс появляется в DF
** решено **