from collections import defaultdict import copy import random from numpy.core.fromnumeric import sort oneToFiveGrade = lambda: random.randint(1,5) yesOrNo = lambda: random.randint(0,1) columns = { "ocena ogolna":oneToFiveGrade, "ocena jedzenia":oneToFiveGrade, "ocena obslugi":oneToFiveGrade, "ocena wystroju":oneToFiveGrade, "ocena karty dan":oneToFiveGrade, "ocena cen":oneToFiveGrade, "ocena lokalizacji":oneToFiveGrade, "ocena przystawek":oneToFiveGrade, "ocena karty win":oneToFiveGrade, "Co ci sie podobalo - obsluga":yesOrNo, "Co ci sie podobalo - ceny":yesOrNo, "Co ci sie podobalo - wystroj":yesOrNo, "Czy przyjdziesz ponownie - prosze zaznaczyc wszystkie powody - obsluga":yesOrNo, "Czy przyjdziesz ponownie - prosze zaznaczyc wszystkie powody - ceny":yesOrNo, "Czy przyjdziesz ponownie - prosze zaznaczyc wszystkie powody - jakosc dan":yesOrNo, } rows_count = 1000 raw_data = [[func() for func in columns.values()] for _ in range(rows_count)] string_data = "\n".join([",".join([str(entry) for entry in row]) for row in [columns.keys()] + raw_data]) with open("data.csv", "w+", encoding="utf-8") as csv_file: csv_file.write(string_data)