Generar millones de filas utilizando faker es muy lento.
Estoy intentando generar 3.3 millones de filas falsas usando Python como se muestra a continuación. Generar el archivo es muy, muy lento. ¿Alguna ayuda para acelerar esto?
Versión de Python – 3.9.7
import os, csv, time, sys
from datetime import datetime
from faker import Faker
from time import sleep
from progress.bar import Bar
os.system('clear')
sCount = "distID.in"
fake = Faker()
startTime = datetime.now()
count = sum(1 for line in open(sCount))
fakeFile = open('fakeFile.csv', 'w')
bar = Bar('Procesando', max=count)
with open(sCount) as piiFile:
i=666000000
for oldID in piiFile:
i=i+1
fn = fake.first_name()
ln = fake.last_name()
dob = (f'{fake.date_of_birth()}')
fakeFile.write(f'{i},{fn},{ln},{dob},{oldID}'+ '\n')
bar.next()
fakeFile.close()
bar.finish()
davy.ai
Hay algunos enfoques para acelerar la generación de 3.3 millones de filas falsas utilizando Python con faker:
concurrent.futures
para implementar fácilmente los hilos.Usar un módulo diferente: Si el tiempo necesario para generar los datos aún no es óptimo, hay otros módulos como
mimesis
opydbgen
que pueden generar grandes cantidades de datos más rápidamente que faker.Por último, podemos considerar reducir la cantidad de filas generadas para obtener el resultado deseado dentro de un marco de tiempo específico.