feat[data]: coding a script to generate data.
This commit is contained in:
parent
7e878a91d3
commit
5d1ab36c55
93
PostgreSQL/generate_data.py
Normal file
93
PostgreSQL/generate_data.py
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
import random
|
||||||
|
import csv
|
||||||
|
|
||||||
|
pathIntegers : str = "data/row_numbers.csv"
|
||||||
|
pathSentences : str = "data/sentences.csv"
|
||||||
|
pathUrls : str = "data/urls.csv"
|
||||||
|
pathWords : str = "data/words.csv"
|
||||||
|
pathNames : str = "data/names.csv"
|
||||||
|
pathNameModels : str = "data/name_models.csv"
|
||||||
|
pathDates : str = "data/dates.csv"
|
||||||
|
pathColors : str = "data/colors.csv"
|
||||||
|
pathBrands : str = "data/brands.csv"
|
||||||
|
|
||||||
|
def random_element(pathFile : str) -> str:
|
||||||
|
"""
|
||||||
|
:param pathFile: the relative path of the csv file to read.
|
||||||
|
:return: a random element from this file.
|
||||||
|
"""
|
||||||
|
with open(pathFile) as file:
|
||||||
|
csvList : list = list(csv.reader(file))
|
||||||
|
random_index_line : int = random.randint(0, len(csvList))
|
||||||
|
return "" if ( csvList[random_index_line] == [] ) \
|
||||||
|
else csvList[random_index_line][0]
|
||||||
|
|
||||||
|
def construct_line(*args : tuple) -> str:
|
||||||
|
"""
|
||||||
|
:param *args: a tuple of elements.
|
||||||
|
example : [ "1", "'toto'", "'Lorem PIPsum'", "42" ].
|
||||||
|
:return: a line to give to the sql.
|
||||||
|
example : "(1, 'toto', 'Lorem PIPsum', 42)".
|
||||||
|
"""
|
||||||
|
return "(" + ', '.join(list(args)) + ")"
|
||||||
|
|
||||||
|
def generate_line_acheter() -> str:
|
||||||
|
idMembre : str = random_element(pathIntegers)
|
||||||
|
idPiece : str = random_element(pathIntegers)
|
||||||
|
quantite : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idMembre, idPiece, quantite)
|
||||||
|
|
||||||
|
def generate_line_avoir_motif() -> str:
|
||||||
|
idPiece : str = random_element(pathIntegers)
|
||||||
|
idMotif : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idPiece, idMotif)
|
||||||
|
|
||||||
|
def generate_line_avoir_tag() -> str:
|
||||||
|
idTag : str = random_element(pathIntegers)
|
||||||
|
idBoite : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idTag, idBoite)
|
||||||
|
|
||||||
|
def generate_line_boites() -> str:
|
||||||
|
idBoite : str = random_element(pathIntegers)
|
||||||
|
titre : str = "\'" + random_element(pathWords) + "\'"
|
||||||
|
dateBoite : str = random_element(pathDates)
|
||||||
|
idMarque : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idBoite, titre, dateBoite, idMarque)
|
||||||
|
|
||||||
|
def generate_line_colorer() -> str:
|
||||||
|
idPiece : str = random_element(pathIntegers)
|
||||||
|
idCouleur : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idPiece, idCouleur)
|
||||||
|
|
||||||
|
def generate_line_construire() -> str:
|
||||||
|
idBoite : str = random_element(pathIntegers)
|
||||||
|
idModele : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idBoite, idModele)
|
||||||
|
|
||||||
|
def generate_line_contenir() -> str:
|
||||||
|
idBoite : str = random_element(pathIntegers)
|
||||||
|
idPiece : str = random_element(pathIntegers)
|
||||||
|
quantite : str = random_element(pathIntegers)
|
||||||
|
|
||||||
|
return construct_line(idBoite, idPiece, quantite)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(generate_line_acheter())
|
||||||
|
print(generate_line_boites())
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user