Aggregating CSV Data - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Aggregating CSV Data (/thread-33931.html) |
Aggregating CSV Data - nb1214 - Jun-10-2021 I have a CSV file that I will be working with, and it contains a lot of data, and two of the columns are "Company Name" and "Sales". I would like to add a "Sales Group" column, which divides all of the companies on the sheet in thirds based on their "Sales". The top 1/3 of companies based on sales would have "High Sales" in the "Sales Group" column, while the middle 1/3 and lower 1/3 would have "Medium Sales" and "Low Sales", respectively. I would like to keep the rest of the data the same, and just add this new column. I have attached a sample CSV file so it is more clear what I am after. Thank you in advance for any assistance.[attachment=1133] RE: Aggregating CSV Data - Axel_Erfurt - Jun-10-2021 something like this? import csv out_text = "Company,Sales,Sales Group\n" with open('Data Python (version 1).csv', 'r', newline='') as f: reader = csv.reader(f, delimiter=',') header = next(reader) sortedChanels = sorted(reader, key=lambda row: int(row[1]), reverse=True) rows = sortedChanels for row in rows: out_text += ",".join(row) out_text += "\n" print(out_text) with open("data_new.csv", "w") as f: f.write(out_text)
|