From 0b303c6e3529d5bae7a6c54c1deddd55236d6964 Mon Sep 17 00:00:00 2001
From: Nikita Rezanov <rezanni1@cvut.cz>
Date: Wed, 22 May 2024 04:51:35 +0200
Subject: [PATCH] Added two files, PPforUNI.py and a table for the code work
 panix.xlsx

---
 projects/rezanni1/PPforUNI.py |  66 ++++++++++++++++++++++++++++++++++
 projects/rezanni1/panix.xlsx  | Bin 0 -> 24524 bytes
 2 files changed, 66 insertions(+)
 create mode 100644 projects/rezanni1/PPforUNI.py
 create mode 100644 projects/rezanni1/panix.xlsx

diff --git a/projects/rezanni1/PPforUNI.py b/projects/rezanni1/PPforUNI.py
new file mode 100644
index 0000000..44f7fc6
--- /dev/null
+++ b/projects/rezanni1/PPforUNI.py
@@ -0,0 +1,66 @@
+import pandas as pd
+from collections import defaultdict
+
+class Release:
+    def __init__(self):
+        self.streams = 0
+        self.earnings = 0
+
+class Artist:
+    def __init__(self):
+        self.releases = defaultdict(Release)
+        self.num_artists = 0
+
+class DataProcessor:
+    def __init__(self):
+        self.release_data = defaultdict(Release)
+        self.artist_data = defaultdict(Artist)
+
+    def process_data(self, row):
+        artists = row[3].split(', ')
+        num_artists = len(artists)
+        streams = row[7]
+        earnings = row[8] / num_artists
+        release_e = row.iloc[4]
+        release_f = row.iloc[5]
+
+        if pd.notnull(release_e):
+            releases = release_e
+            if pd.notnull(release_f):
+                releases += ', ' + release_f
+        elif pd.notnull(release_f):
+            releases = release_f
+        else:
+            releases = None
+
+        if releases is not None:
+            for artist in artists:
+                for release in releases.split(', '):
+                    self.artist_data[artist].releases[release].streams += streams
+                    self.artist_data[artist].releases[release].earnings += earnings
+                    self.release_data[release].streams += streams
+                    self.release_data[release].earnings += earnings
+            for release in releases.split(', '):
+                self.artist_data[artist].num_artists = num_artists
+
+    def generate_csv(self, output_file):
+        data_rows = []  # Renamed data to data_rows
+        for artist, releases in self.artist_data.items():
+            for release, data in releases.releases.items():
+                data_row = [artist, release, data.streams, round(data.earnings, 3)]
+                data_rows.append(data_row)  # Append data_row to data_rows
+
+        df = pd.DataFrame(data_rows, columns=['Artist', 'Release', 'Streams', 'Earnings(RUB)'])
+        df.to_csv(output_file, index=False)
+
+def main():
+    df = pd.read_excel("panix.xlsx")
+    processor = DataProcessor()
+
+    for index, row in df.iterrows():
+        processor.process_data(row)
+
+    processor.generate_csv("output.csv")
+
+if __name__ == "__main__":
+    main()
diff --git a/projects/rezanni1/panix.xlsx b/projects/rezanni1/panix.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..392d06bee59b6592c045d7f285aca4cf09ffb43e
GIT binary patch
literal 24524
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

literal 0
HcmV?d00001

-- 
GitLab