Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.91 KB | None | 0 0
  1. import csv
  2. import random
  3. from faker import Faker
  4.  
  5.  
  6.  
  7. size_beereres = 6
  8. size_beer = 5901
  9. size_breweries = 1414 #alterar este valor depois de criar as breweries
  10. size_geocodes = 1304
  11. size_categories = 11
  12. size_styles = 141
  13. size_abv = 12.0 #alchol by volume
  14.  
  15.  
  16. def generate_beers(size, file_to_write):
  17.    
  18.     #id,brewery_id,name,cat_id,style_id,abv,ibu,srm,upc,filepath,descript,add_user,last_mod
  19.     with open(file_to_write, 'w', newline='') as csvfile:
  20.         fieldnames = ['id', 'brewery_id','name', 'cat_id','style_id', 'abv','ibu', 'srm','upc','filepath','descript','add_user','last_mod']
  21.         writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  22.         writer.writeheader()
  23.         for i in range(1, size):
  24.             breweries_aux = random.randint(1, size_breweries)
  25.             categories_aux = random.randint(1, size_categories)
  26.             styles_aux = random.randint(1, size_styles)
  27.             abv_aux = random.uniform(1, size_abv)
  28.             abv_aux = round(abv_aux, 1)
  29.             writer.writerow({'id': str(size_beer + i), 'brewery_id': str(breweries_aux),'name': "beer"+str(i), 'cat_id': str(categories_aux),'style_id': str(styles_aux), 'abv': str(abv_aux),'ibu': str(0), 'srm': str(0),'upc': str(0), 'filepath': "",'descript': "",'add_user': "",'last_mod': "2010"})
  30.  
  31.  
  32. def generate_breweries(size, file_to_write):
  33.     #id,name,address1,address2,city,state,code,country,phone,website,filepath,descript,add_user,last_mod
  34.     fake = Faker()
  35.     with open(file_to_write, 'w', newline='') as csvfile:
  36.         fieldnames = ['id', 'name','address1', 'address2','city', 'state','code', 'country','phone','website','filepath','descript','add_user','last_mod']
  37.         writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  38.         writer.writeheader()
  39.         for i in range(1, size):
  40.             breweries_aux = random.randint(1, size_breweries)
  41.             writer.writerow({'id': str(size_breweries + i), 'name': "brewerie"+str(breweries_aux),'address1': fake.address(), 'address2': "",'city': fake.city(), 'state': fake.state(),'code': fake.zipcode(), 'country': fake.country(),'phone': "", 'website': "",'filepath':"",'descript': "",'add_user': "",'last_mod': "2010"})
  42. def generate_geocodes(size, file_to_write):
  43.     #id,brewery_id,latitude,longitude,accuracy
  44.     #fake.latitude($min = -90, $max = 90)
  45.     fake = Faker()
  46.     with open(file_to_write, 'w', newline='') as csvfile:
  47.         accuracy=["ROOFTOP","RANGE_INTERPOLATED","APPROXIMATE"]
  48.  
  49.         fieldnames = ['id', 'brewery_id','latitude', 'longitude','accuracy']
  50.         writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  51.         writer.writeheader()
  52.         for i in range(1, size):
  53.             accuracy_aux=random.choice(accuracy)
  54.             writer.writerow({'id': str(size_geocodes + i), 'brewery_id': str(size_breweries + i),'latitude': fake.latitude(), 'longitude': fake.longitude(),'accuracy': accuracy_aux})
  55.  
  56.  
  57. def generate_categories(size, file_to_write):
  58.     #id,cat_name,last_mod
  59.     with open(file_to_write, 'w', newline='') as csvfile:
  60.         fieldnames = ['id', 'cat_name','last_mod']
  61.         writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  62.         writer.writeheader()
  63.         for i in range(1, size):
  64.             writer.writerow({'id': str(size_categories + i), 'cat_name': "category"+str(i),'last_mod': "2010"})
  65.  
  66.  
  67. def generate_styles(size, file_to_write):
  68.     #id,cat_id,style_name,last_mod
  69.     with open(file_to_write, 'w', newline='') as csvfile:
  70.         fieldnames = ['id', 'cat_id','style_name','last_mod']
  71.         writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  72.         writer.writeheader()
  73.         for i in range(1, size):
  74.             categories_aux = random.randint(1, size_categories)
  75.             writer.writerow({'id': str(size_styles + i), 'cat_id': str(categories_aux),'style_name': "style"+str(i),'last_mod': "2010"})
  76.  
  77. def generate_beerers(size, file_to_write):
  78.     #id,name,location,descript,website,picture
  79.     fake = Faker()
  80.     with open(file_to_write, 'w', newline='') as csvfile:
  81.         fieldnames = ['id', 'name','location','descript','website','picture']
  82.         writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  83.         writer.writeheader()
  84.         for i in range(1, size):
  85.             categories_aux = random.randint(1, size_categories)
  86.             writer.writerow({'id': str(size_beereres + i), 'name': fake.name(),'location': fake.country(),'descript': "descriçao"+str(i),'website':"",'picture':""})
  87.  
  88.  
  89.  
  90.  
  91. #84 bytes por row
  92. if __name__ == '__main__':
  93.     #read_file("/Users/duarteguerreiro/Desktop/neo4j-openbeerdb-master/beers.csv")
  94.     #generate_geocodes(10,"/Users/duarteguerreiro/Desktop/teste3.csv")
  95.     #generate_categories(10,"/Users/duarteguerreiro/Desktop/teste4.csv")
  96.     #generate_styles(10,"/Users/duarteguerreiro/Desktop/teste5.csv")
  97.     generate_beerers(10,"/Users/duarteguerreiro/Desktop/teste6.csv")
  98.     #generate_beers(10000000,"/Users/duarteguerreiro/Desktop/teste.csv")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement