Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Записване на csv файл в база данни на SQL Server с помощта на python

Помислете за динамично изграждане на заявката, за да сте сигурни, че броят на заместителите съответства на вашата таблица и CSV файлов формат. Тогава е просто въпрос да се уверите, че вашата таблица и CSV файл са правилни, вместо да проверите дали сте въвели достатъчно ? заместители във вашия код.

Следният пример предполага

  1. CSV файлът съдържа имена на колони в първия ред
  2. Връзката вече е изградена
  3. Името на файла е test.csv
  4. Името на таблицата е 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()

Ако имената на колони не са включени във файла:

...
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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-ефективният начин на T-SQL да добавите varchar отляво до определена дължина?

  2. Как SCHEMA_NAME() работи в SQL Server

  3. Регулярни изрази в сървърите на SQL Server?

  4. Transactionscope хвърля изключение, тази платформа не поддържа разпределени транзакции при отваряне на обект за връзка

  5. Създайте тригер „Вместо“ в SQL Server