sql >> Databasteknik >  >> RDS >> Sqlserver

Skriva en csv-fil till SQL Server-databas med python

Överväg att bygga frågan dynamiskt för att säkerställa att antalet platshållare matchar din tabell och ditt CSV-filformat. Sedan är det bara att se till att din tabell och CSV-fil är korrekt, istället för att kontrollera att du skrivit tillräckligt med ? platshållare i din kod.

Följande exempel antar

  1. CSV-filen innehåller kolumnnamn på första raden
  2. Anslutningen är redan byggd
  3. Filnamnet är test.csv
  4. Tabellnamnet är 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()

Om kolumnnamn inte ingår 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. Ansluter Oracle till Amazon Aurora

  2. få senaste tre månaders poster från tabellen

  3. OGG-01224 Adressen används redan

  4. I Oracle AS fungerar inte aliaset