Простые способы преобразования файла CSV в таблицу в T-SQL

Приходилось ли вам когда-нибудь импортировать данные из файла CSV в таблицу T-SQL? Это обычная задача, которую можно решить несколькими способами. В этой статье мы рассмотрим некоторые удобные для пользователя методы преобразования CSV-файла в таблицу, используя разговорный язык, и попутно предоставим примеры кода. Итак, приступим!

Метод 1: использование оператора BULK INSERT
Оператор BULK INSERT — это мощный инструмент T-SQL, который позволяет быстро импортировать данные из файла CSV в таблицу. Вот пример того, как вы можете его использовать:

BULK INSERT YourTableName
FROM 'C:\Path\To\Your\File.csv'
WITH (FORMAT = 'CSV');

Этот метод прост и эффективен, особенно при работе с большими файлами CSV.

Метод 2: использование OPENROWSET и инструкции SELECT INTO.
Другой метод предполагает использование функции OPENROWSET вместе с инструкцией SELECT INTO для создания новой таблицы из файла CSV. Вот пример:

SELECT *
INTO YourTableName
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Text;Database=C:\Path\To\Your\Folder\;HDR=YES;', 'SELECT * FROM YourFile.csv');

Обратите внимание, что для этого метода требуется, чтобы в вашей системе был установлен Microsoft Access Database Engine.

Метод 3: использование служб интеграции SQL Server (SSIS)
Если вы работаете с SQL Server, вы можете использовать службы интеграции SQL Server (SSIS) для импорта файла CSV в таблицу. SSIS предоставляет графический интерфейс для разработки рабочих процессов интеграции данных. Вот краткий обзор необходимых шагов:

  1. Создайте пакет SSIS.
  2. Добавьте компонент «Исходный файл плоского файла» для чтения CSV-файла.
  3. Добавьте компонент назначения OLE DB, чтобы указать целевую таблицу.
  4. Настройте сопоставления между исходным и целевым столбцами.
  5. Запустите пакет SSIS, чтобы импортировать данные.

Метод 4. Использование специального сценария или языка программирования
Если вы предпочитаете более гибкий и настраиваемый подход, вы можете использовать собственный сценарий или язык программирования, например Python, C# или PowerShell, для преобразования файла CSV в файл CSV. стол. Вот пример Python с использованием библиотеки pyodbc:

import pyodbc
connection_string = 'Driver={SQL Server};Server=YourServerName;Database=YourDatabaseName;Trusted_Connection=yes;'
cnxn = pyodbc.connect(connection_string)
cursor = cnxn.cursor()
with open('path/to/your/file.csv', 'r') as file:
    rows = file.readlines()
    for row in rows:
        values = row.split(',')
        cursor.execute("INSERT INTO YourTableName (Column1, Column2, Column3) VALUES (?, ?, ?)", values)
    cnxn.commit()
cursor.close()
cnxn.close()

В этой статье мы рассмотрели несколько удобных методов преобразования файла CSV в таблицу в T-SQL. Предпочитаете ли вы использовать встроенные инструкции T-SQL или внешние инструменты, такие как SSIS, или даже собственные сценарии, для каждого найдется метод. Выберите тот, который лучше всего соответствует вашим потребностям, и начните легко импортировать данные!