Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- import random
- from faker import Faker
- size_beereres = 6
- size_beer = 5901
- size_breweries = 1414 #alterar este valor depois de criar as breweries
- size_geocodes = 1304
- size_categories = 11
- size_styles = 141
- size_abv = 12.0 #alchol by volume
- def generate_beers(size, file_to_write):
- #id,brewery_id,name,cat_id,style_id,abv,ibu,srm,upc,filepath,descript,add_user,last_mod
- with open(file_to_write, 'w', newline='') as csvfile:
- fieldnames = ['id', 'brewery_id','name', 'cat_id','style_id', 'abv','ibu', 'srm','upc','filepath','descript','add_user','last_mod']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for i in range(1, size):
- breweries_aux = random.randint(1, size_breweries)
- categories_aux = random.randint(1, size_categories)
- styles_aux = random.randint(1, size_styles)
- abv_aux = random.uniform(1, size_abv)
- abv_aux = round(abv_aux, 1)
- 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"})
- def generate_breweries(size, file_to_write):
- #id,name,address1,address2,city,state,code,country,phone,website,filepath,descript,add_user,last_mod
- fake = Faker()
- with open(file_to_write, 'w', newline='') as csvfile:
- fieldnames = ['id', 'name','address1', 'address2','city', 'state','code', 'country','phone','website','filepath','descript','add_user','last_mod']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for i in range(1, size):
- breweries_aux = random.randint(1, size_breweries)
- 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"})
- def generate_geocodes(size, file_to_write):
- #id,brewery_id,latitude,longitude,accuracy
- #fake.latitude($min = -90, $max = 90)
- fake = Faker()
- with open(file_to_write, 'w', newline='') as csvfile:
- accuracy=["ROOFTOP","RANGE_INTERPOLATED","APPROXIMATE"]
- fieldnames = ['id', 'brewery_id','latitude', 'longitude','accuracy']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for i in range(1, size):
- accuracy_aux=random.choice(accuracy)
- writer.writerow({'id': str(size_geocodes + i), 'brewery_id': str(size_breweries + i),'latitude': fake.latitude(), 'longitude': fake.longitude(),'accuracy': accuracy_aux})
- def generate_categories(size, file_to_write):
- #id,cat_name,last_mod
- with open(file_to_write, 'w', newline='') as csvfile:
- fieldnames = ['id', 'cat_name','last_mod']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for i in range(1, size):
- writer.writerow({'id': str(size_categories + i), 'cat_name': "category"+str(i),'last_mod': "2010"})
- def generate_styles(size, file_to_write):
- #id,cat_id,style_name,last_mod
- with open(file_to_write, 'w', newline='') as csvfile:
- fieldnames = ['id', 'cat_id','style_name','last_mod']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for i in range(1, size):
- categories_aux = random.randint(1, size_categories)
- writer.writerow({'id': str(size_styles + i), 'cat_id': str(categories_aux),'style_name': "style"+str(i),'last_mod': "2010"})
- def generate_beerers(size, file_to_write):
- #id,name,location,descript,website,picture
- fake = Faker()
- with open(file_to_write, 'w', newline='') as csvfile:
- fieldnames = ['id', 'name','location','descript','website','picture']
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for i in range(1, size):
- categories_aux = random.randint(1, size_categories)
- writer.writerow({'id': str(size_beereres + i), 'name': fake.name(),'location': fake.country(),'descript': "descriçao"+str(i),'website':"",'picture':""})
- #84 bytes por row
- if __name__ == '__main__':
- #read_file("/Users/duarteguerreiro/Desktop/neo4j-openbeerdb-master/beers.csv")
- #generate_geocodes(10,"/Users/duarteguerreiro/Desktop/teste3.csv")
- #generate_categories(10,"/Users/duarteguerreiro/Desktop/teste4.csv")
- #generate_styles(10,"/Users/duarteguerreiro/Desktop/teste5.csv")
- generate_beerers(10,"/Users/duarteguerreiro/Desktop/teste6.csv")
- #generate_beers(10000000,"/Users/duarteguerreiro/Desktop/teste.csv")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement