Ну если в консоли все работает, а в файл записал только один результат, то причина в том что файл все время перезаписывается.
df.to_csv(r'C:\pythonProject5\my_data.csv',mode='a',header=False)
Это если файл уже существует, если же нет. То первый раз вне цикла один раз запишите пустой csv. c именами ваших колонок.
то есть
columns = df.columns
empty_df = pd.DataFrame(columns=columns)
empty_df.to_csv(r'C:\pythonProject5\my_data.csv')
и потом как я привел выше будет работать.
Ну а вообще так не делается все собирается в один датафрейм и потом пишется в файл.
ваш
псевдо код будет иметь вид
dfs = []
for i in range(длина):
Здесь вы сравниваете и создаете датафрефм но вместо записи его в файл добавляете в список
dfs.append(df)
final_df = pd.concat(dfs,ignore_index=True)
final_df.to_csv()
Вот така структура псевдо кода предпочтительнее чем каждый раз писать в файл. Опять же если все храните в файлах и они уже существует то mode='a' и header=False. что бы имена колонок не записывал.