import pandas as pd
# Almacenar datos en un dataframe
items = pd.read_csv('items_o_2_corregido.csv', delimiter='|')
# Marcar la columna "zipcode" como string
items["zipcode"] = items["zipcode"].astype("string")
# Corregir zipcodes a los que les han quitado 0's al principio por leerlos como numeros
def anadir0(zipcode):
while len(zipcode) < 5:
zipcode = '0' + zipcode
return zipcode
items["zipcode"] = items["zipcode"].map(anadir0)
# Mostrar las 5 primeras lineas
items.head()
# Almacenar datos en un dataframe
products = pd.read_csv('products_corregido.csv', delimiter='|')
# Mostrar las 2 primeras lineas
products.head(2)
# Almacenar datos en un dataframe
products_cat = pd.read_csv('products_categories_corregido.csv', delimiter=';')
# Mostrar las 5 primeras lineas
products_cat.head(2)
import sqlite3
# Conectar a database de SQLite
con = sqlite3.connect('atida.db')
# Escribir datos a tabla SQLite
items.to_sql('items', con, if_exists='replace', index=False)
products.to_sql('products', con, if_exists='replace', index=False)
products_cat.to_sql('products_cat', con, if_exists='replace', index=False)
# Crear un objeto cursor
cur = con.cursor()
# Mostrar algunos contenidos para comprobar que se ha creado la tabla correctamente
print(f'items: {items.num_order.count()}')
for num in cur.execute('SELECT COUNT(num_order) FROM items'):
print(num[0])
print(f'products: {products.product_id.count()}')
for num in cur.execute('SELECT COUNT(product_id) FROM products'):
print(num[0])
print(f'products_cat: {products_cat.sku.count()}')
for num in cur.execute('SELECT COUNT(sku) FROM products_cat'):
print(num[0])
# Cerrar conexion a SQLite atida.db
con.close()