feat: added export to csv file
This commit is contained in:
50
ResultWriter.cs
Normal file
50
ResultWriter.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using System.Globalization;
|
||||
using CsvHelper;
|
||||
|
||||
namespace TelegramMessageCounter;
|
||||
|
||||
public static class ResultWriter
|
||||
{
|
||||
public static void SaveStatsToTxt(List<CounterInfo> infos, string path = "results.txt")
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||
Console.Write($"Saving results to {path}...");
|
||||
string fileData = "";
|
||||
float multiplier = 0;
|
||||
foreach (CounterInfo info in infos)
|
||||
{
|
||||
fileData += "username: " + info.TargetUsername + "\n" +
|
||||
"message multiplier (You/Target): " + info.MessageMultiplier + "\n" +
|
||||
"symbol multiplier (You/Target): " + info.SymbolsMultiplier + "\n" +
|
||||
"total messages: " + info.FullMessageCount + "\n" +
|
||||
"your messages: " + info.UserMessageCount + "\n" +
|
||||
"target messages: " + info.TargetMessageCount + "\n" +
|
||||
"your symbols in messages: " + info.UserSymbolsCount + "\n" +
|
||||
"target symbols in messages: " + info.TargetSymbolsCount + "\n-----\n";
|
||||
multiplier += info.MessageMultiplier;
|
||||
}
|
||||
multiplier /= infos.Count;
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine("[DONE]");
|
||||
Console.ForegroundColor = ConsoleColor.White;
|
||||
Console.WriteLine($"Middle result is: {multiplier}");
|
||||
File.WriteAllText(path, fileData);
|
||||
Console.WriteLine("Goodbye!");
|
||||
}
|
||||
|
||||
public static void SaveStatsToCsv(List<CounterInfo> infos, string path = "results.csv")
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||
Console.Write($"Saving results to {path}...");
|
||||
|
||||
using (var writer = new StreamWriter(path))
|
||||
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
|
||||
{
|
||||
csv.WriteRecords(infos);
|
||||
}
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine("[DONE]");
|
||||
Console.ForegroundColor = ConsoleColor.White;
|
||||
Console.WriteLine("Goodbye!");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user