Hướng dẫn how do i load a dataframe into sql server using python? - làm cách nào để tải khung dữ liệu vào máy chủ sql bằng python?

Bỏ qua nội dung chính

Trình duyệt này không còn được hỗ trợ.

Nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, cập nhật bảo mật và hỗ trợ kỹ thuật.

Chèn dữ liệu từ bảng SQL vào khung dữ liệu python

  • Bài báo
  • 01/11/2022
  • 2 phút để đọc

Trong bài viết này

Áp dụng cho: SQL Server [tất cả các phiên bản được hỗ trợ] Cơ sở dữ liệu Azure SQL Azure SQL được quản lý

SQL Server [all supported versions] Azure SQL Database Azure SQL Managed Instance

Bài viết này mô tả cách chèn dữ liệu SQL vào khung dữ liệu gấu trúc bằng cách sử dụng gói pyodbc trong Python. Các hàng và cột của dữ liệu có trong DataFrame có thể được sử dụng để khám phá dữ liệu tiếp theo.

Điều kiện tiên quyết

  • SQL Server cho Windows hoặc cho Linux

  • Cơ sở dữ liệu Azure SQL

  • Azure SQL được quản lý

  • SQL Server Management Studio để khôi phục cơ sở dữ liệu mẫu cho phiên bản được quản lý của Azure SQL.

  • Azure Data Studio. Để cài đặt, xem Azure Data Studio.

  • Khôi phục cơ sở dữ liệu mẫu để nhận dữ liệu mẫu được sử dụng trong bài viết này.

Xác minh cơ sở dữ liệu được khôi phục

Bạn có thể xác minh rằng cơ sở dữ liệu được khôi phục tồn tại bằng cách truy vấn người.Person.CountryRegion table:

USE AdventureWorks;
SELECT * FROM Person.CountryRegion;

Cài đặt các gói Python

Tải xuống và cài đặt Azure Data Studio.

Cài đặt các gói Python sau:

  • Pyodbc
  • gấu trúc

Để cài đặt các gói này:

  1. Trong máy tính xách tay Azure Data Studio của bạn, chọn Quản lý gói.Manage Packages.
  2. Trong ngăn Quản lý gói, chọn Tab Thêm mới.Manage Packages pane, select the Add new tab.
  3. Đối với mỗi gói sau, nhập tên gói, nhấp vào Tìm kiếm, sau đó nhấp vào Cài đặt.Search, then click Install.

Chèn dữ liệu

Sử dụng tập lệnh sau để chọn dữ liệu từ bảng. Chỉnh sửa các biến chuỗi kết nối: 'Máy chủ', 'cơ sở dữ liệu', 'Tên người dùng' và 'Mật khẩu' để kết nối với SQL.

Để tạo một cuốn sổ mới:

  1. Trong Azure Data Studio, chọn Tệp, chọn Notebook mới.File, select New Notebook.
  2. Trong sổ ghi chép, chọn Kernel Python3, chọn mã +.Python3, select the +code.
  3. Mã Dán trong Notebook, chọn Chạy tất cả.Run All.
import pyodbc
import pandas as pd
# Some other example server values are
# server = 'localhost\sqlexpress' # for a named instance
# server = 'myserver,port' # to specify an alternate port
server = 'servername' 
database = 'AdventureWorks' 
username = 'yourusername' 
password = 'databasename'  
cnxn = pyodbc.connect['DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password]
cursor = cnxn.cursor[]
# select 26 rows from SQL table to insert in dataframe.
query = "SELECT [CountryRegionCode], [Name] FROM Person.CountryRegion;"
df = pd.read_sql[query, cnxn]
print[df.head[26]]

Đầu ra

Lệnh print trong tập lệnh trước hiển thị các hàng dữ liệu từ pandas DataFrame df.

CountryRegionCode                 Name
0                 AF          Afghanistan
1                 AL              Albania
2                 DZ              Algeria
3                 AS       American Samoa
4                 AD              Andorra
5                 AO               Angola
6                 AI             Anguilla
7                 AQ           Antarctica
8                 AG  Antigua and Barbuda
9                 AR            Argentina
10                AM              Armenia
11                AW                Aruba
12                AU            Australia
13                AT              Austria
14                AZ           Azerbaijan
15                BS         Bahamas, The
16                BH              Bahrain
17                BD           Bangladesh
18                BB             Barbados
19                BY              Belarus
20                BE              Belgium
21                BZ               Belize
22                BJ                Benin
23                BM              Bermuda
24                BT               Bhutan
25                BO              Bolivia

Bước tiếp theo

  • Chèn Python DataFrame vào SQL

Nhận xét

Gửi và xem phản hồi cho

Tôi đang cố gắng hiểu làm thế nào Python có thể lấy dữ liệu từ máy chủ FTP vào gấu trúc sau đó di chuyển nó vào máy chủ SQL.Mã của tôi ở đây rất thô sơ để nói rằng ít nhất và tôi đang tìm kiếm bất kỳ lời khuyên hoặc sự giúp đỡ nào.Tôi đã cố gắng tải dữ liệu từ máy chủ FTP trước hoạt động tốt .... Nếu sau đó tôi xóa mã này và thay đổi nó thành một chọn từ máy chủ MS SQL thì tốt để chuỗi kết nối hoạt động, nhưng việc chèn vào SQLMáy chủ dường như đang gây ra vấn đề.

import pyodbc
import pandas
from ftplib import FTP
from StringIO import StringIO
import csv

ftp = FTP ['ftp.xyz.com','user','pass' ]
ftp.set_pasv[True]
r = StringIO[]
ftp.retrbinary['filname.csv', r.write]

pandas.read_table [r.getvalue[], delimiter=',']


connStr = ['DRIVER={SQL Server Native Client 10.0};SERVER=localhost;DATABASE=TESTFEED;UID=sa;PWD=pass']
conn = pyodbc.connect[connStr]

cursor = conn.cursor[]
cursor.execute["INSERT INTO dbo.tblImport[Startdt, Enddt, x,y,z,]" "VALUES                  [x,x,x,x,x,x,x,x,x,x.x,x]"]
cursor.close[]
conn.commit[]
conn.close[]
print"Script has successfully run!"

Khi tôi xóa mã FTP, điều này sẽ chạy hoàn hảo, nhưng tôi không hiểu làm thế nào để thực hiện bước nhảy tiếp theo để đưa nó vào Microsoft SQL Server hoặc ngay cả khi có thể mà không lưu vào tệp trước.

Bài Viết Liên Quan

Chủ Đề