MySQL

Viestiketju alueella 'Ohjelmointi, pelikehitys ja muu sovelluskehitys' , aloittaja Purple, 22.07.2017.

  1. Purple

    Purple

    Viestejä:
    561
    Rekisteröitynyt:
    17.10.2016
    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ä.
     
  2. jzs

    jzs

    Viestejä:
    20
    Rekisteröitynyt:
    18.10.2016
    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')