Cách lấy dữ liệu từ excel vào cơ sở dữ liệu trong python? ✅ Mới nhất
Kinh Nghiệm Hướng dẫn Cách lấy tài liệu từ excel vào cơ sở tài liệu trong python? Mới Nhất
Bùi Quang Tín đang tìm kiếm từ khóa Cách lấy tài liệu từ excel vào cơ sở tài liệu trong python? được Update vào lúc : 2022-12-23 07:10:21 . Với phương châm chia sẻ Mẹo Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tham khảo tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.Trong bài đăng này, chúng tôi sẽ thực hiện một bài tập trong đó chúng tôi sẽ đọc tài liệu từ tệp Excel và chèn tài liệu này vào bảng cơ sở tài liệu SQL Server
Nội dung chính Show- Tệp ExcelBảng cơ sở dữ liệuChương trình Python1 – Nhập kiện hàng2 – Kết nối chuỗi cơ sở dữ liệu3 – Excel – đọc, nhân với 10 và lưu trữ4 – Chèn vào bảng cơ sở dữ liệuthực hiện chương trìnhChuyển đổi tệp Excel sang CSVCài đặt openpyxlMở một tệp ExcelTruy cập tài liệu trong một WorksheetTruy cập tài liệu từ những ôTrích xuất tài liệu từ những ô cụ thểtái cấu trúcĐọc thêmLàm cách nào để tìm nạp tài liệu từ Excel vào cơ sở tài liệu?Làm cách nào để quy đổi tệp Excel sang cơ sở tài liệu SQL trong Python?Làm cách nào để nhập tài liệu từ Excel sang MySQL bằng Python?Làm cách nào để đọc tài liệu từ trang tính Excel và chèn vào bảng cơ sở tài liệu?
Xem xét tình huống mà bạn muốn mở một tệp excel để thực hiện một số trong những phép toán và sau đó chèn kết quả vào bảng cơ sở tài liệu
Lưu ý rằng trong ví dụ này, tất cả chúng ta sẽ không tập trung vào những phép toán phức tạp, tất cả chúng ta sẽ chỉ thực hiện một phép toán ngớ ngẩn như nhân với 10. Mục tiêu của chúng tôi ở đây là hiển thị sự tích hợp giữa tệp bên phía ngoài, chương trình python và bảng cơ sở tài liệu
Tệp Excel
Chúng tôi sẽ xem xét một tệp excel đơn giản chỉ có một trang tính và năm cột chứa những số
Lưu tệp vào một vị trí sẽ được ra mắt bởi mã python. Bạn không cần chỉ định cùng một đường dẫn, có một nguyên do cho đường dẫn này phía dưới sẽ được lý giải trong bài đăng tiếp theo. Hiện tại, chỉ việc lưu tệp vào một vị trí mà bạn sẽ nhớ
Bảng cơ sở tài liệu
Tạo bảng vào cơ sở tài liệu SQL Server để lưu kết quả
Chương trình Python
Bây giờ ở đầu cuối tất cả chúng ta sẽ “link những điểm”. Chúng ta sẽ thực hiện thuật toán được màn biểu diễn trên lưu đồ phía dưới
1 – Nhập kiện hàng
Chúng tôi sẽ nhập gói XLRD để thao tác excel và PYODBC để tương tác với cơ sở tài liệu
2 – Kết nối chuỗi cơ sở tài liệu
Chúng tôi sẽ đáp ứng những setup và thông tin đăng nhập để link với Cơ sở tài liệu SQL Server
3 – Excel – đọc, nhân với 10 và tàng trữ
Tôi biết, nhân với 10 nghe có vẻ như ngớ ngẩn, nhưng như tôi đã nói trước đây, trọng tâm ở đây là thể hiện sự tích hợp Một trong những nền tảng. Tôi chắc như đinh rằng bạn hoàn toàn có thể nâng cao ví dụ này bằng những phép toán thống kê thông minh
Trong đoạn mã dưới đây, bạn sẽ mở tệp excel đã tạo trước đó và tàng trữ nội dung của nó vào những cấu trúc tài liệu để sử dụng sau này
4 – Chèn vào bảng cơ sở tài liệu
Sau khi tải những giá trị từ tệp excel vào một vectơ của vectơ, tất cả chúng ta phải đọc từng dòng vectơ này để chèn nội dung của nó vào bảng cơ sở tài liệu
Lưu mã này ở đâu đó bạn hoàn toàn có thể nhớ sau này
thực hiện chương trình
Bây giờ tất cả những gì bạn cần làm là thực hiện chương trình của tớ
… và đó là kết quả bạn hoàn toàn có thể thấy trên bảng điều khiển
Hãy kiểm tra cơ sở tài liệu để xem tài liệu có ở đó không
Thế là xong. Bạn hoàn toàn có thể sử dụng ví dụ này cho những hoạt động và sinh hoạt giải trí phức tạp hơn.
Ở bài tiếp theo tất cả chúng ta sẽ sử dụng giải pháp này để tích phù phù hợp với giải pháp khác. Chúng tôi sẽ hoàn toàn có thể tạo một giao diện để chúng tôi hoàn toàn có thể tải tệp lên và xem kết quả ở đầu cuối trong một trang web.
Tôi kỳ vọng điều này hoàn toàn có thể hữu ích cho bạn. Chúc bạn ngày mới tốt lành
Xem mã cho giải pháp này phía dưới
ĐỐI TƯỢNG SQL
CREATE_TABLETải xuống
MÃ TRĂN
Tôi xin lỗi vì điều đó nhưng tôi không thể tải tệp có mã python lên do chủ trương bảo mật thông tin của dịch vụ tàng trữ. Vui lòng xem mã phía dưới và để ý quan tâm đến vết lõm
Khi mọi người lưu tài liệu ở định dạng JSON hoặc CSV, họ đang có ý định truy cập tài liệu đó theo chương trình. Nhưng phần lớn tài liệu của thế giới được tàng trữ trong những tệp bảng tính và nhiều tệp trong số đó ở định dạng Excel. Excel được sử dụng vì mọi người hoàn toàn có thể thao tác với nó một cách thuận tiện và đơn giản và bản thân nó là một công cụ mạnh mẽ và tự tin. Tuy nhiên, có rất nhiều tự động hóa hoàn toàn có thể được thực hiện bằng phương pháp trích xuất tài liệu từ bảng tính và quy trình này cũng khá được cho phép bạn đưa tài liệu từ nhiều loại nguồn vào một chương trình
Trước tiên, tất cả chúng ta sẽ xem nhanh cách lưu tệp Excel dưới dạng tệp CSV. Đây đôi khi là cách nhanh nhất có thể và dễ nhất để trích xuất tài liệu. Nhưng đó là quy trình thủ công, vì vậy bạn phải mở tệp trong Excel và lưu lại dưới dạng CSV mọi khi tệp được update. Trong nhiều trường hợp, tốt hơn là chỉ trích xuất tài liệu trực tiếp từ Excel
Ví dụ chúng tôi sẽ sử dụng là tài liệu bạn hoàn toàn có thể tải xuống từ Lập map Cảnh sát Bạo lực. Nếu vì nguyên do nào đó bạn không thể tải xuống tệp này từ trang web, bạn cũng hoàn toàn có thể tìm thấy ảnh chụp nhanh của bảng tính này từ ngày 19/6/2022 trong thư mục
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 5 của tài nguyên trực tuyến dành riêng cho Khóa học Python CrashChuyển đổi tệp Excel sang CSV
Bạn hoàn toàn có thể tạo tệp CSV từ bất kỳ trang tính nào trong sổ thao tác Excel. Để thực hiện việc này, trước tiên hãy nhấn vào tab của trang tính mà bạn muốn tập trung vào. Sau đó, chọn Tệp > Lưu dưới dạng và trong menu thả xuống Định dạng tệp, chọn CSV UTF-8 (Được phân cách bằng dấu phẩy) (. csv). Bạn sẽ nhận được tin báo rằng không thể lưu toàn bộ sổ thao tác ở định dạng này, nhưng nếu bạn nhấn vào OK, bạn sẽ nhận được một bản sao của trang tính hiện tại ở định dạng CSV
Để xem tệp và đảm bảo tệp chứa tài liệu bạn mong đợi, hãy định vị tệp CSV mới trong trình duyệt tệp và mở tệp đó bằng trình sửa đổi văn bản. Nếu bạn mở tệp bằng ứng dụng bảng tính như Excel, nó sẽ không khác gì tệp Excel thông thường
Cài đặt openpyxl
Chúng tôi sẽ sử dụng thư viện openpyxl để truy cập tài liệu trong tệp Excel. Bạn hoàn toàn có thể setup thư viện này với pip
$ pip install --user openpyxlMở một tệp Excel
Để tuân theo hướng dẫn này, hãy tạo một thư mục ở đâu đó trên khối mạng lưới hệ thống của bạn mang tên là extracting_from_excel. Tạo một thư mục tài liệu bên trong thư mục này; . Tôi đã lưu tệp mapping_police_violence_snapshot_061920. xlsx trong thư mục tài liệu của tôi; . xls hoặc. xlsx mà bạn quan tâm
Đoạn mã sau sẽ mở tệp Excel và in tên của tất cả những trang tính trong tệp
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname)Đầu tiên ta import hàm
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 6, gán đường dẫn đến file tài liệu cho from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 7. Sau đó, chúng tôi gọi from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 6 với đường dẫn đúng chuẩn và gán đối tượng được trả về, đại diện cho toàn bộ sổ thao tác, cho from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 9. Bạn sẽ thấy quy ước này trong tài liệu dành riêng cho openpyxlTên của tất cả những trang tính trong tệp được tàng trữ trong thuộc tính
Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 0. Đây là đầu ra cho tệp tài liệu nàyFound the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black MenTruy cập tài liệu trong một Worksheet
Chúng tôi muốn truy cập tài liệu thực tế trong một trang tính rõ ràng. Để làm điều này, chúng tôi lấy trang tính mà chúng tôi quan tâm, sau đó trích xuất tài liệu từ tất cả những hàng trong trang tính
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # Load one worksheet. ws = wb['2013-2019 Killings by State'] all_rows = list(ws.rows) print(f"Found len(all_rows) rows of data.") print("nFirst rows of data:") for row in all_rows[:5]: print(row)Trang tính được truy cập theo tên thông qua đối tượng sổ thao tác. Ở đây chúng tôi chỉ định một trang tính cho
Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 1. Khi bạn có một đối tượng trang tính, bạn hoàn toàn có thể truy cập tất cả những hàng thông qua thuộc tính Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 2. Thuộc tính này là một trình tạo, một đối tượng Python trả về một mục một cách hiệu suất cao tại thuở nào điểm từ bộ sưu tập. Chúng ta hoàn toàn có thể quy đổi list này sang list quen thuộc hơn bằng phương pháp sử dụng hàm ________ 73. Ở đây chúng tôi tạo một list tất cả những hàng trong sổ thao tác. Sau đó, chúng tôi in một thông báo về số lượng hàng được tìm thấy và in một vài hàng tài liệu đầu tiên$ pip install --user openpyxl 3Trong bảng tính này, chúng tôi đã tìm thấy 55 hàng tài liệu. Mỗi hàng tài liệu được tạo thành từ một loạt những đối tượng ô
Truy cập tài liệu từ những ô
Cho đến nay, chúng tôi đã truy cập tệp Excel, một trang tính riêng lẻ và một loạt những hàng. Bây giờ tất cả chúng ta hoàn toàn có thể truy cập tài liệu thực tế trong những ô
Để khởi đầu, tất cả chúng ta sẽ chỉ xem xét tài liệu ở số 1 tiên
$ pip install --user openpyxl 4Chúng tôi lặp qua tất cả những ô trong hàng và in giá trị của từng ô. Điều này được truy cập thông qua thuộc tính
Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 4 của đối tượng ô$ pip install --user openpyxl 6Trích xuất tài liệu từ những ô rõ ràng
Ví dụ trước hoàn toàn có thể hữu ích khi xem list những tiêu đề cho một trang tính qua link từ xa. Nhưng thông thường khi phân tích tài liệu từ bảng tính, tất cả chúng ta chỉ việc mở tệp trong Excel, tìm kiếm thông tin mình yêu thích rồi viết mã để trích xuất thông tin đó. Tuy nhiên, chúng tôi thường không quan tâm đến từng ô trong một hàng. Chúng tôi thường quan tâm đến những ô được chọn trong mỗi hàng trong trang tính
Ví dụ sau lấy tài liệu từ ba cột rõ ràng trong mỗi hàng trong tệp chứa tài liệu mà chúng tôi quan tâm
$ pip install --user openpyxl 7Ở đây chúng tôi lặp qua tất cả những hàng chứa tài liệu của những trạng thái. Đối với mỗi hàng, chúng tôi kéo những giá trị tại chỉ mục 0, 3 và 4 và gán mỗi giá trị này cho một tên biến thích hợp. Sau đó, chúng tôi in một câu lệnh tóm tắt ý nghĩa của những giá trị này
Đầu ra không hoàn toàn như những gì tất cả chúng ta mong đợi
$ pip install --user openpyxl 8Các giá trị trong những ô này thực sự là những công thức. Nếu tất cả chúng ta muốn những giá trị được tính toán từ những công thức này, tất cả chúng ta cần chuyển cờ
Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 5 khi tải sổ thao tácfrom openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 0Bây giờ chúng tôi thấy đầu ra in như những gì chúng tôi mong đợi
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 0Phân tích tài liệu hầu như luôn liên quan đến một số trong những mức độ định dạng lại. Đối với kết quả này, chúng tôi sẽ làm tròn tỷ lệ phần trăm đến hai chữ số thập phân và biến chúng thành số nguyên được định dạng ngăn nắp để hiển thị
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 1Đây là đầu ra sạch hơn
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 2Hãy thận trọng về việc làm tròn tài liệu trong quá trình xử lý. Nếu bạn định chuyển tài liệu này đến thư viện đồ thị, hoàn toàn có thể bạn muốn thực hiện phép làm tròn trong mã đồ thị. Điều này hoàn toàn có thể ảnh hưởng đến tưởng tượng của bạn. Ví dụ: nếu hai tỷ lệ phần trăm làm tròn thành cùng một giá trị ở hai chữ số thập phân nhưng chúng rất khác nhau ở chữ số thập phân thứ ba, thì bạn sẽ mất kĩ năng sắp xếp đúng chuẩn những mục. Trong tình huống này, điều quan trọng là phải hỏi liệu vị trí thập phân thứ ba có ý nghĩa hay là không
Ngoài ra, lưu ý rằng bạn sẽ thường xuyên cần xác định những hàng rõ ràng cần phải lặp lại. Bảng tính đẹp và có cấu trúc, nhưng mọi người cũng hoàn toàn có thể tự do viết bất kể thứ gì họ muốn trong bất kỳ ô nào. Nhiều bảng tính có một số trong những ghi chú trong một vài ô sau tất cả những hàng tài liệu. Đây hoàn toàn có thể là ghi chú về nguồn tài liệu thô, ngày thu thập tài liệu, tác giả, v.v. Có thể bạn sẽ nên phải loại trừ những hàng này, bằng phương pháp lặp qua một lát cắt như minh họa ở đây hoặc sử dụng khối thử/ngoại trừ để chỉ trích xuất tài liệu nếu thao tác cho từng hàng thành công
Cuối cùng, bạn nên lưu ý rằng mọi người hoàn toàn có thể sửa đổi những giá trị được mã hóa cứng trong bảng tính mà không cần update những giá trị bắt nguồn từ những công thức sử dụng những giá trị đó. Nếu bạn có bất kỳ nghi ngờ nào về việc liệu bảng tính bạn đang thao tác đã được update hay chưa, bạn nên tự chạy lại công thức trước khi sử dụng cờ ________ 75 khi tải sổ thao tác
tái cấu trúc
Điều đó hoàn toàn có thể đủ để giúp bạn khởi đầu thao tác với tài liệu được tàng trữ trong những tệp Excel, nhưng cũng đáng để hiển thị một chút ít tái cấu trúc chương trình mà tất cả chúng ta đang sử dụng trong hướng dẫn này. Đây là mã trông ra làm sao vào thời điểm này
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 3Nếu tất cả những gì chúng tôi muốn làm là tạo một bản tóm tắt văn bản về tài liệu này, thì mã này hoàn toàn có thể sẽ ổn. Nhưng có lẽ rằng chúng tôi sẽ thực hiện một số trong những việc làm trực quan hóa và hoàn toàn có thể chúng tôi muốn đưa vào một số trong những tài liệu tương hỗ update từ một tệp khác. Nếu tất cả chúng ta định làm bất kể điều gì xa hơn, thì đáng để chia nó thành một vài hiệu suất cao. Đây là cách chúng tôi hoàn toàn có thể tổ chức mã này
from openpyxl import load_workbook data_file = 'data/mapping_police_violence_snapshot_061920.xlsx' # Load the entire workbook. wb = load_workbook(data_file) # List all the sheets in the file. print("Found the following worksheets:") for sheetname in wb.sheetnames: print(sheetname) 4Chúng tôi tổ chức mã thành hai hiệu suất cao, một để truy xuất tài liệu và một để tổng hợp tài liệu. Hàm
Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 7 hoàn toàn có thể được sử dụng để tải tất cả những hàng từ bất kỳ trang tính nào trong bất kỳ tệp tài liệu nào. Hàm Found the following worksheets: 2013-2022 Police Killings 2013-2022 Killings by PD 2013-2022 Killings by State Police Killings of Black Men 8 dành riêng cho ngữ cảnh này và hoàn toàn có thể sẽ có một tên rõ ràng hơn trong một dự án công trình bất Động sản hoàn hảo nhất hơnĐọc thêm
Còn rất nhiều điều bạn hoàn toàn có thể làm với những tệp Excel trong chương trình Python của tớ. Ví dụ: bạn hoàn toàn có thể sửa đổi tài liệu trong tệp Excel hiện có hoặc bạn hoàn toàn có thể trích xuất tài liệu mà bạn quan tâm và tạo một tệp Excel hoàn toàn mới. Để tìm hiểu thêm về những kĩ năng này, hãy xem tài liệu openpyxl. Bạn cũng hoàn toàn có thể trích xuất tài liệu từ Excel và viết lại ở bất kỳ định dạng tài liệu nào khác, ví dụ như JSON hoặc CSV