sql >> Databáze >  >> RDS >> Sqlserver

Zápis souboru csv do databáze SQL Server pomocí pythonu

Zvažte vytvoření dotazu dynamicky, abyste zajistili, že počet zástupných symbolů bude odpovídat vaší tabulce a formátu souboru CSV. Pak už jde jen o to, abyste se ujistili, že tabulka a soubor CSV jsou správné, místo kontroly, zda jste zadali dostatek ? zástupné symboly ve vašem kódu.

Následující příklad předpokládá

  1. Soubor CSV obsahuje na prvním řádku názvy sloupců
  2. Připojení je již vytvořeno
  3. Název souboru je test.csv
  4. Název tabulky je MyTable
  5. Python 3
...
with open ('test.csv', 'r') as f:
    reader = csv.reader(f)
    columns = next(reader) 
    query = 'insert into MyTable({0}) values ({1})'
    query = query.format(','.join(columns), ','.join('?' * len(columns)))
    cursor = connection.cursor()
    for data in reader:
        cursor.execute(query, data)
    cursor.commit()

Pokud v souboru nejsou zahrnuty názvy sloupců:

...
with open ('test.csv', 'r') as f:
    reader = csv.reader(f)
    data = next(reader) 
    query = 'insert into MyTable values ({0})'
    query = query.format(','.join('?' * len(data)))
    cursor = connection.cursor()
    cursor.execute(query, data)
    for data in reader:
        cursor.execute(query, data)
    cursor.commit()


  1. Sloupec 'Mary' neexistuje

  2. Zkopírujte data ze Salesforce na SQL Server pomocí Spectral Core

  3. Jak maskovat tabulky a zachovat referenční integritu

  4. Jak extrahovat skupinu z regulárního výrazu v Oracle?