sách gpt4 ăn đã đi

Python sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 26 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL do tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Bài chia sẻ này sẽ giới thiệu cách sử dụng thư viện Pandas trong Python để đọc và ghi cơ sở dữ liệu MySQL. Đầu tiên chúng ta cần biết một số kiến ​​thức về ORM.

Công nghệ ORM.

Công nghệ ánh xạ quan hệ đối tượng, công nghệ ORM (Ánh xạ quan hệ đối tượng), đề cập đến việc ánh xạ cấu trúc bảng của cơ sở dữ liệu quan hệ tới các đối tượng và tự động lưu giữ các đối tượng trong chương trình bằng cách sử dụng siêu dữ liệu mô tả ánh xạ giữa các đối tượng và cơ sở dữ liệu vào một cơ sở dữ liệu quan hệ. cơ sở dữ liệu.

Trong Python, khung ORM nổi tiếng nhất là SQLAlchemy. Phần mềm trung gian ORM điển hình trong Java bao gồm: Hibernate, ibatis, speedframework.

Thuật toán SQLAlchemy

SQLAlchemy là một phần mềm mã nguồn mở sử dụng ngôn ngữ lập trình Python. Cung cấp bộ công cụ SQL và các công cụ ánh xạ quan hệ đối tượng (ORM), được phát hành theo giấy phép MIT.

Mô-đun SQLAlchemy cung cấp hàm create_engine() để khởi tạo kết nối cơ sở dữ liệu. SQLAlchemy sử dụng một chuỗi để biểu thị thông tin kết nối:

'Loại cơ sở dữ liệu + tên trình điều khiển cơ sở dữ liệu://tên người dùng:password@địa chỉ máy:số cổng/tên cơ sở dữ liệu.

Pandas đọc và ghi cơ sở dữ liệu MySQL.

Chúng tôi cần ba thư viện sau để triển khai cơ sở dữ liệu MySQL đọc và ghi Pandas:

  • gấu trúc
  • thuật giả kim sql
  • pymysql

Trong số đó, mô-đun pandas cung cấp hàm read_sql_query() để truy vấn cơ sở dữ liệu và hàm to_sql() để thực hiện ghi vào cơ sở dữ liệu. Không cần phải tạo bảng dữ liệu MySQL mới.

Mô-đun sqlalchemy triển khai các kết nối đến các cơ sở dữ liệu khác nhau, trong khi mô-đun pymysql cho phép Python vận hành cơ sở dữ liệu MySQL.

Chúng ta sẽ sử dụng cơ sở dữ liệu mydb và bảng nhân viên trong cơ sở dữ liệu MySQL như sau:

Python sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL

Để ý:

1. Theo tài liệu của thư viện, chúng ta thấy hàm to_sql hỗ trợ hai loại công cụ mysql, một là sqlalchemy và một là sqliet3. Có, khi bạn ghi vào thư viện, pymysql không thể sử dụng được! ! ! .

Mysqldb cũng không dùng được, bạn chỉ dùng được sqlalchemy hoặc sqliet3 thôi! ! Vì sqllift3 lâu rồi không được cập nhật nên tác giả ở đây khuyên bạn nên sử dụng sqlalchemy! ! .

2. Hàm to_sql không có trong pd mà có trong io.sql. Đây là một lớp dưới tập lệnh sql! ! ! Vì vậy cách tốt nhất để viết to_sql là:

  1. pd.cái này.câu lệnh.đến_sql(df1,tên bảng,với=kết nối,nếu_tồn_tại='trả đũa')  

Một ví dụ đơn giản sẽ được giới thiệu bên dưới để chỉ ra cách đọc và ghi cơ sở dữ liệu MySQL trong pandas:

  1. nhập khẩu gấu trúc BẰNG pd
  2. từ thuật giả kim sql nhập khẩu tạo_động_cơ
  3. # Khởi tạo kết nối cơ sở dữ liệu, sử dụng mô-đun pymysql
  4. # Người dùng MySQL: root, mật khẩu: 147369, cổng: 3306, cơ sở dữ liệu: test
  5. động cơ = tạo_động_cơ('mysql+pymysql://root:123456@localhost:3306/kiểm tra')
  6. # Câu lệnh truy vấn chọn toàn bộ dữ liệu trong bảng nhân viên
  7. câu lệnh = ''' chọn * từ nhân viên; '''
  8. #Hai tham số của read_sql_query: câu lệnh sql, kết nối cơ sở dữ liệu
  9. df = pd.đọc_truy_cập_sql(câu lệnh, động cơ)
  10. # Xuất kết quả truy vấn của bảng nhân viên
  11. in(df)
  12.  
  13. # Tạo DataFrame mới trong pandas, chỉ có hai cột: id và num.
  14. df = pd.Khung dữ liệu({'nhận dạng': [1, 2, 3, 4], 'tên': ['trương san', 'danh sách', 'wangwu', 'zhuliu']})
  15. # Lưu trữ DataFrame mới tạo dưới dạng bảng dữ liệu trong MySQL và lưu trữ cột chỉ mục
  16. df.đến_sql('mydf', động cơ, chỉ số=ĐÚNG VẬY)
  17. in('Đọc và ghi vào bảng Mysql thành công!')

Kết quả chạy:

Python sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL

Điều này cho thấy rằng chúng tôi thực sự đã viết DataFrame mới được tạo trong pandas vào MySQL! .

Viết tệp CSV vào MySQL.

Ví dụ trên thực hiện việc sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL. Chúng tôi sẽ giới thiệu một ví dụ khác: ghi tệp CSV vào MySQL. Ví dụ về tệp example.csv như sau.

Python sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL

Mã Python mẫu như sau:

  1. # -*- mã hóa: utf-8 -*-
  2.  
  3. #Nhập các mô-đun cần thiết
  4. nhập khẩu gấu trúc BẰNG pd
  5. từ thuật giả kim sql nhập khẩu tạo_động_cơ
  6.  
  7. # Khởi tạo kết nối cơ sở dữ liệu, sử dụng mô-đun pymysql
  8. thông tin db = {'người dùng': 'gốc',
  9. 'mật khẩu': '123456',
  10. 'chủ nhà': 'máy chủ cục bộ',
  11. 'cảng': 3306,
  12. 'cơ sở dữ liệu': 'Bài kiểm tra'
  13. }
  14.  
  15. động cơ = tạo_động_cơ('mysql+pymysql://%(người dùng)s:%(mật khẩu)s@%(máy chủ)s:%(cổng)d/%(cơ sở dữ liệu)s?charset=utf8' % thông tin db, mã hóa='utf-8')
  16. # Bạn cũng có thể sử dụng trực tiếp biểu mẫu tiếp theo
  17. # engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test')
  18.  
  19. # Đọc tệp CSV cục bộ
  20. df = pd.đọc_csv("C:/Users/fuqia/Desktop/example.csv", tháng chín=',')
  21. in(df)
  22. # Lưu trữ DataFrame mới tạo dưới dạng bảng dữ liệu trong MySQL mà không lưu trữ cột chỉ mục (index=False)
  23. # nếu_tồn_tại:
  24. # 1.fail: Nếu bảng tồn tại, không làm gì cả
  25. # 2.replace: Nếu bảng đã tồn tại thì xóa bảng, tạo bảng mới và chèn dữ liệu
  26. # 3.append: Nếu bảng tồn tại, hãy chèn dữ liệu. Nếu bảng không tồn tại, hãy tạo bảng! !
  27. pd.cái này.câu lệnh.đến_sql(df, 'ví dụ', với=động cơ, chỉ số=SAI, nếu_tồn_tại='thay thế')
  28. # df.to_sql('example', con=engine, if_exists='replace') Biểu mẫu này cũng có thể sử dụng được
  29. in("Ghi vào MySQL thành công!")

Xem bảng ví dụ trong MySQL.

Python sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL

Bổ sung: engine.execute(sql) có thể thực thi trực tiếp các câu lệnh sql:

  1. từ thuật giả kim sql nhập khẩu tạo_động_cơ
  2.  
  3. động cơ = tạo_động_cơ('mysql+pymysql://root:123456@localhost:3306/kiểm tra')
  4. câu lệnh = "Ví dụ DROP TABLE IF EXISTS"
  5. động cơ.thực hiện(câu lệnh)

Nếu dùng pymysql thì phải dùng con trỏ để so sánh.

  1. nhập khẩu pymysql
  2. từ thuật giả kim sql nhập khẩu tạo_động_cơ
  3.  
  4. kết nối = pymysql.kết nối(chủ nhà='127.0.0.1', cảng=3306, người sử dụng='gốc', mật khẩu='123456', cơ sở dữ liệu='Bài kiểm tra')
  5. # engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test')
  6. câu lệnh = "XÓA BẢNG NẾU CÓ test_input"
  7. con trỏ = kết nối.con trỏ()
  8. con trỏ.thực hiện(câu lệnh)

Tóm tắt.

Bài viết này chủ yếu giới thiệu công nghệ ORM và mô-đun SQLAlchemy, hiển thị hai ví dụ về chương trình Python và giới thiệu cách sử dụng thư viện Pandas để đọc và ghi cơ sở dữ liệu MySQL.

Trên đây là toàn bộ nội dung bài viết này hi vọng nó sẽ giúp ích cho việc học của mọi người và cũng mong mọi người ủng hộ mình.

Liên kết gốc: https://www.cnblogs.com/fuqia/p/8996033.html.

Cuối cùng, bài viết về Python sử dụng thư viện Pandas để triển khai đọc và ghi cơ sở dữ liệu MySQL kết thúc tại đây. Nếu bạn muốn biết thêm về Python sử dụng thư viện Pandas để triển khai đọc và ghi cơ sở dữ liệu MySQL, vui lòng tìm kiếm các bài viết về CFSDN hoặc. tiếp tục duyệt các bài viết liên quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

26 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress