Nhập excel vào SQL Python

Bạn đang cố tạo cơ sở dữ liệu từ tệp excel?

Chuyển đổi tệp Excel thành bảng cơ sở dữ liệu trong Python

Cách dễ nhất để chuyển đổi tệp excel thành bảng cơ sở dữ liệu trong python là sử dụng df. hàm to_sql[]. df. to_sql[] trong python chuyển đổi khung dữ liệu thành cơ sở dữ liệu SQLite. Nhưng trước tiên, bạn phải chuyển đổi tệp excel của mình sang khung dữ liệu

Thực hiện theo các bước sau để chuyển đổi tệp Excel thành cơ sở dữ liệu Sqlite

Bước số 1. Chuyển đổi tệp Excel thành Dataframe

Bước đầu tiên trong quá trình chuyển đổi tệp Excel sang cơ sở dữ liệu SQLite là chuyển đổi tệp excel thành khung dữ liệu. Cách tốt nhất để chuyển đổi tệp Excel thành khung dữ liệu là sử dụng hàm read_excel[]. Hàm read_excle[] trong mô-đun pandas python chuyển đổi tệp excel thành khung dữ liệu pandas


import pandas as pd
import sqlite3
df = pd.read_excel['excel_file.xls']
print[df]

Bước số 2. Chuyển đổi Dataframe sang cơ sở dữ liệu SQL

Khi chúng tôi có khung dữ liệu gấu trúc, chúng tôi có thể sử dụng lệnh df. hàm to_sql[] để chuyển đổi khung dữ liệu thành cơ sở dữ liệu SQL

Dưới đây là code chuyển file excel sang cơ sở dữ liệu sqlite bằng pandas


import pandas as pd
import sqlite3

db = sqlite3.connect['sqlite.db']
dfs = pd.read_excel['excel_file.xls', sheet_name=None]
for table, df in dfs.items[]:
    df.to_sql[table, db]
    print[f'{df} inserted successfully']

Đầu ra của mã.

  inserted successfully

Chuyển đổi nhiều sổ làm việc Excel thành bảng cơ sở dữ liệu trong Python

Đây là phương pháp tốt nhất để chuyển đổi một tệp excel có nhiều sổ làm việc. Đầu tiên, lấy tên của sổ làm việc và sau đó chèn chúng vào cơ sở dữ liệu

Kiểm tra đoạn mã sau để chuyển đổi tệp excel sang cơ sở dữ liệu SQLite


import sqlite3
import pandas as pd

con=sqlite3.connect['database.db']
wb=pd.ExcelFile['excel_file.xls']
for sheet in wb.sheet_names:
        df=pd.read_excel['excel_file.xls',sheet_name=sheet]
        df.to_sql[sheet,con, index=False,if_exists="replace"]
con.commit[]
con.close[]

Tóm tắt và Kết luận

Chúng tôi đã học cách chuyển đổi tệp excel thành bảng cơ sở dữ liệu trong python. Đây là hai cách tốt nhất để hoàn thành công việc. Nếu bạn có bất kỳ câu hỏi xin vui lòng cho tôi biết trong phần bình luận

Tôi vừa hoàn thành một kịch bản Python cơ bản cho một khách hàng mà tôi muốn chia sẻ với bạn. Anh ấy cần một phương tiện dễ dàng để di chuyển dữ liệu qua lại giữa MySQL và Excel, và đôi khi anh ấy cần thực hiện một chút thao tác trong quá trình này. Trước đây tôi có thể chỉ dựa vào VBA để làm việc này, nhưng tôi thấy nó dễ dàng hơn nhiều với Python. Trong bài đăng này và video đi kèm, tôi chỉ hiển thị một phần của dự án - nhập dữ liệu từ Excel vào MySQL qua Python. Bắt đầu nào

Hãy chắc chắn kiểm tra video đi kèm

Tải xuống các phụ thuộc

Giả sử bạn đã cài đặt Python [Tôi đang sử dụng phiên bản 2. 7], tải xuống và cài đặt thư viện xlrd và mô-đun MySQLdb-

Nếu bạn đang tìm kiếm một tập lệnh đơn giản để trích xuất dữ liệu từ tệp excel và đặt nó vào bảng SQL, bạn đã đến đúng nơi. Trong bài viết này, tôi sẽ hướng dẫn các bạn cách sử dụng python pandas và sqlalchemy để nhập tệp excel vào cơ sở dữ liệu SQL [MySQL] một cách miễn phí, nhanh chóng và linh hoạt. Phương pháp tương tự cũng hoạt động đối với SQLite hoặc cơ sở dữ liệu SQL khác, nhưng chi tiết kết nối sẽ khác

Tệp Excel

Tệp Excel để nhập vào cơ sở dữ liệu SQL dưới dạng bảng SQL

Tệp Excel ở trên là những gì chúng tôi sẽ nhập. Nó là một tệp bốn cột được sắp xếp gọn gàng chứa đầy dữ liệu giả được tạo ngẫu nhiên về mọi người

Đảm bảo các gói cần thiết được cài đặt

Để điều này hoạt động bình thường, hãy đảm bảo bạn đã cài đặt các gói cần thiết và đang sử dụng Python 3. các gói là. pandas, xlrd, sqlalchemy. Nếu bạn thiếu những thứ này, hãy cài đặt chúng với pip install [package] Nếu sử dụng Ubuntu, bạn cũng có thể cần đảm bảo gói python3-mysqldb được cài đặt với sudo apt install python3-mysqldb

Nhập tệp Excel bằng Python

Bước đầu tiên là nhập tệp Excel vào python dưới dạng khung dữ liệu gấu trúc. Đối với điều này, chúng tôi sử dụng chức năng


import pandas as pd
import sqlite3

db = sqlite3.connect['sqlite.db']
dfs = pd.read_excel['excel_file.xls', sheet_name=None]
for table, df in dfs.items[]:
    df.to_sql[table, db]
    print[f'{df} inserted successfully']
0. Hàm chấp nhận nhiều tùy chọn để xử lý các tệp Excel phức tạp hơn. Xem tài liệu để cho biết thêm thông tin chi tiết. Trong trường hợp của tôi, chức năng có thể nhập tệp excel mà không cần thêm bất kỳ tham số nào

import pandas as pd

df = pd.read_excel['NameNumbers.xlsx']
df.head[]

TênHọTuổiSố điện thoại0ThersaFullington43183-130-52881SiuHopf54957-849-26202GingerEland32236-726-47473PrestonPutz41887-311-91464NovellaRobichaux37797-363-5038

Chèn DataFrame dưới dạng Bảng SQL

Bây giờ dữ liệu trong Python dưới dạng khung dữ liệu, chúng ta cần ghi khung dữ liệu đó vào bảng SQL. Trong trường hợp này, tôi đang kết nối với cơ sở dữ liệu MySQL có tên là contact. Tôi sẽ viết vào một bảng có tên người, bảng này không tồn tại trước khi chạy tập lệnh này. Bảng được tạo bằng hàm to_sql. Giống như hàm read_excel, có sẵn nhiều tùy chọn để tùy chỉnh đầu ra [bao gồm thêm hoặc thay thế các bảng hiện có]. Xem tài liệu để cho biết thêm thông tin chi tiết

from sqlalchemy import create_engine

# format: mysql://user:pass@host/db
engine = create_engine['mysql://ryan:ryan@localhost/contacts']
df.to_sql['people', con=engine]

Đó là tất cả những gì nó cần để viết bảng. Chúng ta có thể thấy rằng mọi thứ diễn ra theo đúng kế hoạch với ảnh chụp màn hình HeidiSQL bên dưới

Cấu trúc bảng được tạo với các loại dữ liệu phù hợp được chọn cho mỗi cột.
Tất cả các hàng đã được chèn.

Chỉ định loại dữ liệu, nối thêm bảng và tắt chỉ mục

Hành vi mặc định của hàm sẽ hoạt động tốt cho nhiều mục đích sử dụng, nhưng nếu bạn muốn thêm vào một bảng hiện có, bạn sẽ muốn thực hiện một số thay đổi

from sqlalchemy.types import String, SmallInteger
...
df.to_sql['people', con=engine, if_exists='append', index=False, dtype={'First Name': String[length=255],
'Last Name': String[length=255],
'Age': SmallInteger, 'Phone Number': String[length=255]}]

Đoạn mã trên yêu cầu gấu trúc nối thêm nếu bảng tồn tại, không bao gồm các chỉ mục mà nó tạo [bạn có thể thêm một chỉ mục trong SQL, như được hiển thị trong video YouTube] và chỉ định các loại dữ liệu sẽ sử dụng thay cho các loại dữ liệu có thể có

Làm cách nào để chuyển đổi tệp Excel sang cơ sở dữ liệu SQL trong Python?

Các nhà phát triển Python có thể dễ dàng tải và chuyển đổi các tệp XLSX sang SQL chỉ bằng một vài dòng mã. .
Tải tệp XLSX với phiên bản Sổ làm việc
Gọi sổ làm việc. phương thức lưu
Truyền đường dẫn đầu ra với phần mở rộng SQL làm tham số
Kiểm tra đường dẫn được chỉ định cho tệp SQL kết quả

Làm cách nào để nhập dữ liệu Excel trong MySQL bằng Python?

Ở đây chúng tôi sử dụng phương pháp tiêu chuẩn là sử dụng gấu trúc. read_excel để lấy dữ liệu từ tệp Excel . Nếu có một trang tính cụ thể mà chúng tôi muốn, nó có thể được chọn bằng sheet_name. Nếu tệp chứa nhãn cột, chúng tôi có thể bao gồm chúng bằng tham số index_col.

Làm cách nào để tải tệp Excel lên cơ sở dữ liệu bằng Python?

Các bước để nhập tệp Excel vào Python bằng Pandas .
Bước 1. Chụp đường dẫn tập tin. Trước tiên, bạn cần nắm bắt đường dẫn đầy đủ nơi tệp Excel được lưu trữ trên máy tính của bạn. .
Bước 2. Áp dụng mã Python. .
Bước 3. Chạy mã Python để nhập tệp Excel

Làm cách nào để nhập tệp CSV vào cơ sở dữ liệu MySQL bằng tập lệnh Python?

Bước 1. Chuẩn bị tệp CSV. Để bắt đầu, hãy chuẩn bị tệp CSV mà bạn muốn nhập vào MySQL. .
Bước 2. Nhập tệp CSV vào DataFrame. .
Bước 3. Kết nối với MySQL bằng Python và tạo Cơ sở dữ liệu. .
Bước 4. Tạo bảng và Nhập dữ liệu CSV vào bảng MySQL. .
Bước 5. Truy vấn bảng

Chủ Đề