MySQL

  • Keskustelun aloittaja Keskustelun aloittaja Purple
  • Aloitettu Aloitettu
Liittynyt
17.10.2016
Viestejä
1 029
Otsikko tarkoituksella suht laaja, joten saa muutkin käyttää samaa ketjua.

Kuinka saan monta .csv tiedostoja importattua yhteen tietokantaan. Niin että jokainen csv tiedosto on oma table ja nimi määräytyy tiedostonimen mukaan. Tiedostoja on satoja joten ihan ei viitsisi käsin siirrellä.
 
Tällä python skriptillä pitäisi onnistua kunhan ensin muokkaat tuon connectionin sopimaan sille mysqlille.

Koodi:
import pandas as pd
import sqlite3
import os

TXT_FILES = r"C:\Username\dir"
database = r"C:\Username\database.db"

def getFileNames(dataLocation):
    if not os.path.exists(dataLocation):
        print("[-] Error no folder", dataLocation)
        exit()
    return os.listdir(dataLocation)

connection = sqlite3.connect(database)
filenames = getFileNames(TXT_FILES)

for file in filenames:
    df = pd.read_csv(os.path.join(TXT_FILES, file))
    tablename = file[:-4]
    df.to_sql(tablename, connection, if_exists='replace')
 

Uusimmat viestit

Statistiikka

Viestiketjuista
261 839
Viestejä
4 548 799
Jäsenet
74 851
Uusin jäsen
hieunguyen

Hinta.fi

Back
Ylös Bottom