Python, как записать в txt датафрейм построчно (перезапись юзерлога)?
Пишу код для обработки юзерологов, он будет открывать папку, пробегаться по файлам юзерлогов, группировать данные по названию учетки и подсчитывать результат. Хочу, чтобы текущий файл сразу перезаписывался из исходного в вида в рейтинг пользователей по посещениям. Проблема в том, что файл перезаписывается и становится пустым. Были попытки сделать в цикле, через writelines, через pikle, savetxt и вот такой вариант ниже. Что я делаю не так?
Вот мой код:
def usr_eater(directory):
df = pd.read_csv(
directory,
delimiter=' ',
names=['1', '2', '3', '4', '5', '6', '7', '8'],
encoding_errors='ignore',
encoding='cp1251'
)
df_grouped = df[df['3']=="Зашел"].groupby(['1', '2'])['3'].count().sort_values(ascending=False)\
.reset_index()
return df_grouped ```
for f in Path(r"C:\userlog").glob("*.txt"):
file = open(f, "w")
a = usr_eater(f)
for column in a.columns:
lista = a[column].tolist()
for i in lista:
f = file.write("%s\n" % i)
file.close()