sql >> Database teknologi >  >> RDS >> Sqlserver

Skrivning af en csv-fil til SQL Server-database ved hjælp af python

Overvej at bygge forespørgslen dynamisk for at sikre, at antallet af pladsholdere matcher din tabel- og CSV-filformat. Så er det bare et spørgsmål om at sikre, at din tabel og CSV-fil er korrekte, i stedet for at tjekke, at du har skrevet nok ? pladsholdere i din kode.

Følgende eksempel antager

  1. CSV-fil indeholder kolonnenavne i den første linje
  2. Forbindelsen er allerede bygget
  3. Filnavnet er test.csv
  4. Tabelnavnet er 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()

Hvis kolonnenavne ikke er inkluderet i filen:

...
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. Sådan opretter du en rapport med rapportguiden i Microsoft Access

  2. MariaDB JSON_DEPTH() Forklaret

  3. 19.3 PDB Luk ORA-65107 ORA-16078

  4. Lær hvordan du opretter PK fra Sequence Trigger i SQL Developer