Hướng dẫn dataframe to mysql table python - dataframe thành python bảng mysql
từ SQLalchemy nhập tạo_Engine Show Nhập PYMYSQL nhập khẩu gấu trúc dưới dạng PD uservitals = {"userid": ["xxxxx", "yyyyy", "zzzzz", "aaaaa", "bbbbb", "ccccc", "ddddd"], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Người dùng" & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Hàng tháng & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "HighStorderAmount": [30, 20, 16, 23, 20, 26, 9], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "LastorderAmount": [21,20,4,11,7,7,7], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "LastorderRating": [3,3,3,2,3,2,4], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "trung bình & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "OrderMode": ["Web", "Ứng dụng", "Ứng dụng", "Ứng dụng", "Web", "Web", "Ứng dụng"], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "InmedicalCare": ["Không", "Không", "Không", "Không", "Có", "Không", "Không"]}; TableName & nbsp; & nbsp; = "Uservitals" DataFrame & nbsp; & nbsp; = pd.dataFrame (data = uservitals) & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; sqlengine & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; = created_engine ('mysql+pymysql: // root:@127.0.0.1/test', pool_recycle = 3600) dbconnection & nbsp; & nbsp; & nbsp; = sqlengine.connect () try: & nbsp; & nbsp; & nbsp; khung & nbsp; & nbsp; & nbsp; & nbsp; = dataFrame.to_sql (tablename, dbconnection, if_exist = 'fail'); ngoại trừ valueError là vx: & nbsp; & nbsp; & nbsp; in (VX) ngoại trừ ngoại lệ là Ex: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; in (ví dụ) else: & nbsp; & nbsp; & nbsp; in ("Bảng %s được tạo thành công." %tablename); & nbsp; & nbsp; & nbsp; finally: & nbsp; & nbsp; & nbsp; dbconnection.close () Andy Hayden đã đề cập đến chức năng chính xác ( 0). Trong câu trả lời này, tôi sẽ đưa ra một ví dụ hoàn chỉnh, mà tôi đã thử nghiệm với Python 3.5 nhưng cũng nên làm việc cho Python 2.7 (và Python 3.x):Đầu tiên, hãy tạo DataFrame:
Mà mang lại:
Để nhập DataFrame này vào bảng MySQL:
Một mẹo là MySQLDB không hoạt động với Python 3.x. Vì vậy, thay vào đó chúng tôi sử dụng 1, có thể được cài đặt như sau:
Output: Lưu ý rằng 0 tạo bảng cũng như các cột nếu chúng chưa tồn tại trong cơ sở dữ liệu. Pandas hiện là một trong những thư viện Python phổ biến nhất được sử dụng để phân tích dữ liệu. Một khung dữ liệu trong gấu trúc là một cấu trúc dữ liệu để lưu trữ dữ liệu ở dạng bảng, tức là, theo hàng và cột. Bài viết này mô tả cách viết dữ liệu trong một bản dữ liệu gấu trúc vào bảng MySQL. Hãy xem xét một khung dữ liệu với ba bản ghi như dưới đây. Bạn có thể tạo một bảng cơ sở dữ liệu trong MySQL và chèn dữ liệu này bằng hàm to_sql () trong gấu trúc. Hàm 3 yêu cầu hai tham số bắt buộc - tên bảng và đối tượng động cơ sqlalchemy.to_sql() function in Pandas. The 3 function requires two mandatory parameters - table name and an SQLAlchemy engine object.SQLalchemy là một bộ công cụ Python và Mapper quan hệ đối tượng (ORM) cho phép Python hoạt động với cơ sở dữ liệu SQL. Một động cơ là cơ sở của bất kỳ ứng dụng sqlalchemy nào nói chuyện với cơ sở dữ liệu. Đối tượng động cơ được tạo bằng cách gọi hàm create_engine () với phương ngữ cơ sở dữ liệu và tham số kết nối. is a Python toolkit and Object Relational Mapper (ORM) that allows Python to work with SQL Databases. An engine is the base of any SQLAlchemy application that talks to the database. The engine object is created by calling the create_engine() function with database dialect and connection parameters. Chương trình Python sau đây tạo ra một bảng mới có tên 4 trong cơ sở dữ liệu MySQL và điền vào bảng với ba bản ghi từ DataFrame ví dụ của chúng tôi.import pandas as pd from sqlalchemy import create_engine # Credentials to database connection hostname="localhost" dbname="mydb_name" uname="my_user_name" pwd="my_password" # Create dataframe df = pd.DataFrame(data=[[111,'Thomas','35','United Kingdom'], [222,'Ben',42,'Australia'], [333,'Harry',28,'India']], columns=['id','name','age','country']) # Create SQLAlchemy engine to connect to MySQL Database engine = create_engine("mysql+pymysql://{user}:{pw}@{host}/{db}" .format(host=hostname, db=dbname, user=uname, pw=pwd)) # Convert dataframe to sql table df.to_sql('users', engine, index=False) Sau khi thực hiện tập lệnh Python ở trên, hãy đăng nhập vào cơ sở dữ liệu MySQL của bạn và truy vấn bảng người dùng mới được tạo. SELECT * from users;
Bây giờ chúng ta hãy xem xét một số tham số tùy chọn có thể được chuyển đến hàm 3.
Thêm khóa chínhHàm to_sql () không cung cấp bất kỳ tùy chọn nào để tạo cột khóa chính. Tuy nhiên, bạn có thể đạt được điều này bằng cách gọi phương pháp .Execute của động cơ SQLalchemy..execute method of SQLAlchemy engine. Câu lệnh sau đây đặt cột 6 trong bảng người dùng làm khóa chính.engine.execute('ALTER TABLE users ADD PRIMARY KEY (`id`);') Làm cách nào để tạo DataFrame vào bảng trong MySQL bằng Python?Tạo một khung dữ liệu bằng cách gọi Trình xây dựng DataFrame của Pandas và chuyển đối tượng Python Dict dưới dạng dữ liệu. Gọi phương thức_sql () trên thể hiện gấu trúc DataFrame và chỉ định kết nối tên và kết nối cơ sở dữ liệu bảng. Điều này tạo ra một bảng trong máy chủ cơ sở dữ liệu MySQL và điền vào dữ liệu từ DataFrame của Pandas.
Làm cách nào để thêm DataFrame vào bảng SQL?Trong bài viết này.. Prerequisites.. Cài đặt các gói Python .. Tạo một tệp CSV mẫu .. Tạo một bảng cơ sở dữ liệu mới .. Tải DataFrame từ tệp CSV .. Xác nhận dữ liệu trong cơ sở dữ liệu .. Bước tiếp theo.. Làm cách nào để viết gấu trúc DataFrame cho SQL?Các bước để đi từ gấu trúc DataFrame đến SQL.. Bước 1: Tạo DataFrame.Để bắt đầu, hãy tạo một khung dữ liệu dựa trên dữ liệu sau về sản phẩm: .... Bước 2: Tạo cơ sở dữ liệu.Đối với mục đích trình diễn, hãy tạo một cơ sở dữ liệu đơn giản bằng SQLite3..... Bước 3: Nhận từ Pandas DataFrame đến SQL .. Tôi có thể kết nối Python với cơ sở dữ liệu MySQL không?Python cần một trình điều khiển MySQL để truy cập cơ sở dữ liệu MySQL.Trong hướng dẫn này, chúng tôi sẽ sử dụng trình điều khiển "Đầu nối MySQL".Chúng tôi khuyên bạn nên sử dụng PIP để cài đặt "Đầu nối MySQL".PIP rất có thể đã được cài đặt trong môi trường Python của bạn.. In this tutorial we will use the driver "MySQL Connector". We recommend that you use PIP to install "MySQL Connector". PIP is most likely already installed in your Python environment. |