Sdílet prostřednictvím


Vložení datového rámce Pythonu do tabulky SQL

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLDatabáze SQL v Microsoft Fabric

Tento článek popisuje, jak vložit datový rámec pandas do databáze SQL pomocí balíčku Pyodbc v Pythonu.

Prerequisites

Instalace balíčků Pythonu

  1. V Azure Data Studiu otevřete nový poznámkový blok a připojte se k jádru Pythonu 3.

  2. Vyberte Spravovat balíčky.

    Správa balíčků

  3. V podokně Spravovat balíčky vyberte kartu Přidat novou .

  4. Pro každý z následujících balíčků zadejte název balíčku, vyberte Hledat a pak vyberte Nainstalovat.

    • pyodbc
    • pandas

Vytvoření ukázkového souboru CSV

Zkopírujte následující text a uložte ho do souboru s názvem department.csv.

DepartmentID,Name,GroupName,
1,Engineering,Research and Development,
2,Tool Design,Research and Development,
3,Sales,Sales and Marketing,
4,Marketing,Sales and Marketing,
5,Purchasing,Inventory Management,
6,Research and Development,Research and Development,
7,Production,Manufacturing,
8,Production Control,Manufacturing,
9,Human Resources,Executive General and Administration,
10,Finance,Executive General and Administration,
11,Information Services,Executive General and Administration,
12,Document Control,Quality Assurance,
13,Quality Assurance,Quality Assurance,
14,Facilities and Maintenance,Executive General and Administration,
15,Shipping and Receiving,Inventory Management,
16,Executive,Executive General and Administration

Vytvoření nové databázové tabulky

  1. Postupujte podle pokynů v části Připojení k SQL Serveru a připojte se k databázi AdventureWorks.

  2. Vytvořte tabulku s názvem HumanResources.DepartmentTest. Tabulka SQL se použije pro vložení datového rámce.

    CREATE TABLE [HumanResources].[DepartmentTest](
    [DepartmentID] [smallint] NOT NULL,
    [Name] [dbo].[Name] NOT NULL,
    [GroupName] [dbo].[Name] NOT NULL
    )
    GO
    

Načtení datového rámce ze souboru CSV

Balíček Pythonu pandas použijte k vytvoření datového rámce, načtení souboru CSV a následnému načtení datového rámce do nové tabulky SQL HumanResources.DepartmentTest.

  1. Připojte se k jádru Pythonu 3 .

  2. Do buňky kódu vložte následující kód, aktualizujte kód správnými hodnotami pro server, database, usernamepassworda umístěním souboru CSV.

    import pyodbc
    import pandas as pd
    # insert data from csv file into dataframe.
    # working directory for csv file: type "pwd" in Azure Data Studio or Linux
    # working directory in Windows c:\users\username
    df = pd.read_csv("c:\\user\\username\department.csv")
    # Some other example server values are
    # server = 'localhost\sqlexpress' # for a named instance
    # server = 'myserver,port' # to specify an alternate port
    server = 'yourservername'
    database = 'AdventureWorks'
    username = 'username'
    password = 'yourpassword'
    cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
    cursor = cnxn.cursor()
    # Insert Dataframe into SQL Server:
    for index, row in df.iterrows():
         cursor.execute("INSERT INTO HumanResources.DepartmentTest (DepartmentID,Name,GroupName) values(?,?,?)", row.DepartmentID, row.Name, row.GroupName)
    cnxn.commit()
    cursor.close()
    
  3. Spusťte buňku.

Potvrzení dat v databázi

Připojte se k jádru SQL a databázi AdventureWorks a spusťte následující příkaz SQL, abyste potvrdili, že se tabulka úspěšně načetla s daty z datového rámce.

SELECT count(*) from HumanResources.DepartmentTest;

Results

(No column name)
16

Další krok