Экспорт данных SQL в Excel с использованием Python: методы и примеры

Чтобы экспортировать данные из SQL в Excel с помощью Python, существует несколько методов. Вот некоторые распространенные подходы:

  1. Использование библиотеки pandas: Pandas — это мощная библиотека манипулирования данными на Python. Вы можете использовать его для подключения к базе данных SQL, выполнения запросов и экспорта результатов в Excel. Вот пример:
import pandas as pd
import pyodbc
# Connect to SQL Server
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=your_server;DATABASE=your_database;UID=your_username;PWD=your_password')
# Execute SQL query and fetch data into a pandas DataFrame
query = "SELECT * FROM your_table"
df = pd.read_sql(query, conn)
# Export DataFrame to Excel
df.to_excel('output.xlsx', index=False)
  1. Использование библиотеки xlwt: xlwt — это библиотека Python для записи данных в файлы Excel. Вы можете использовать его в сочетании с библиотекой pyodbc для получения данных из SQL и записи их в файл Excel. Вот пример:
import xlwt
import pyodbc
# Connect to SQL Server
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=your_server;DATABASE=your_database;UID=your_username;PWD=your_password')
# Create a new Excel workbook and sheet
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
# Execute SQL query and fetch data
cursor = conn.cursor()
query = "SELECT * FROM your_table"
cursor.execute(query)
data = cursor.fetchall()
# Write data to Excel sheet
for row_index, row_data in enumerate(data):
    for col_index, col_data in enumerate(row_data):
        sheet.write(row_index, col_index, col_data)
# Save workbook to file
workbook.save('output.xls')
  1. Использование библиотеки openpyxl: openpyxl — это библиотека Python для чтения и записи файлов Excel. Вы можете использовать его для создания новой книги, заполнения ее данными из SQL и сохранения в виде файла Excel. Вот пример:
import openpyxl
import pyodbc
# Connect to SQL Server
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=your_server;DATABASE=your_database;UID=your_username;PWD=your_password')
# Create a new workbook and sheet
workbook = openpyxl.Workbook()
sheet = workbook.active
# Execute SQL query and fetch data
cursor = conn.cursor()
query = "SELECT * FROM your_table"
cursor.execute(query)
data = cursor.fetchall()
# Write data to Excel sheet
for row_index, row_data in enumerate(data, start=1):
    for col_index, col_data in enumerate(row_data, start=1):
        sheet.cell(row=row_index, column=col_index, value=col_data)
# Save workbook to file
workbook.save('output.xlsx')