Pandas trong Python có khả năng chuyển đổi Pandas DataFrame thành một bảng trong trang web HTML. gấu trúc. Khung dữ liệu. phương thức to_html[] được sử dụng để hiển thị Khung dữ liệu Pandas
Cú pháp. Khung dữ liệu. to_html[]
Quay lại. Trả về định dạng html của khung dữ liệu.
Hãy hiểu với các ví dụ
Đầu tiên, tạo một Dataframe
Python3
print[tables[4]]6
print[tables[4]]7
print[tables[4]]8
print[tables[4]]9
print[tables[4]]0
print[tables[4]]7
print[tables[4]]2
print[tables[4]]3
print[tables[4]]4
print[tables[4]]60
print[tables[4]]61
print[tables[4]]62
print[tables[4]]63
print[tables[4]]64
print[tables[4]]65
print[tables[4]]66
print[tables[4]]67
print[tables[4]]66
print[tables[4]]69
print[tables[4]]70
print[tables[4]]71
print[tables[4]]72____766
print[tables[4]]74
print[tables[4]]75
print[tables[4]]76
print[tables[4]]77
print[tables[4]]78
print[tables[4]]64
print[tables[4]]80
print[tables[4]]66
print[tables[4]]82
print[tables[4]]66
print[tables[4]]84
print[tables[4]]66
print[tables[4]]86
print[tables[4]]87
print[tables[4]]66
print[tables[4]]80
print[tables[4]]75
print[tables[4]]76
print[tables[4]]77
print[tables[4]]93______764
print[tables[4]]95
print[tables[4]]66
print[tables[4]]97
print[tables[4]]66
print[tables[4]]99
print[tables[4]]66
print[tables[4]]01
print[tables[4]]66
print[tables[4]]03
print[tables[4]]75
print[tables[4]]76
print[tables[4]]77
print[tables[4]]07
print[tables[4]]64
print[tables[4]]09
print[tables[4]]66
print[tables[4]]71
print[tables[4]]66
print[tables[4]]73
print[tables[4]]66
print[tables[4]]75
print[tables[4]]66
print[tables[4]]73
print[tables[4]]78
Trong hướng dẫn này, chúng ta sẽ học cách đọc các bảng trong HTML bằng cách sử dụng hàm
print[tables[4]]3 và cách biến các bảng này thành khung dữ liệu Pandas để phân tích chúng. Hơn nữa, chúng ta sẽ xem cách hiển thị khung dữ liệu Pandas dưới dạng bảng HTML áp dụng hàm
print[tables[4]]4
Khi xem qua bài viết, bạn cũng có thể xem video hướng dẫn giải thích sau đây
Đọc và Viết HTML với Pandas
Xem video này trên YouTube
Đọc trong các bảng HTML bằng hàm read_html[]
Đối với hướng dẫn này, chúng tôi sẽ sử dụng trang Wikipedia này về Châu Âu. Nó chứa rất nhiều thông tin về lịch sử và tình hình hiện tại của lục địa Châu Âu. Để có cái nhìn tổng quan về tất cả các tham số, hãy xem. Vì vậy, hãy bắt đầu với mã hóa thực tế
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #
Ban đầu, chúng tôi nhập thư viện Pandas. Sau đó, chúng tôi tạo biến “
print[tables[4]]5” và gán cho nó URL của trang Wikipedia dưới dạng chuỗi. Sau đó, chúng tôi sử dụng hàm
print[tables[4]]3 lần đầu tiên. Chúng ta đọc URL bằng cách đặt biến “
print[tables[4]]5” bên trong hàm
print[tables[4]]3 và gán biến đó cho một biến mới gọi là “_______09”. Cuối cùng, chúng tôi xuất loại “
print[tables[4]]9”. Như chúng ta có thể thấy, kiểu là một danh sách. Vì vậy, về cơ bản, hàm
print[tables[4]]3, như chúng ta sử dụng ở đây, đọc tất cả các bảng mà nó có thể tìm thấy trên trang web và gán các bảng này dưới dạng danh sách cho biến
Hãy xem có bao nhiêu bảng
print[tables[4]]0
Chúng tôi xác định độ dài của danh sách bảng bằng cách sử dụng chức năng
print[tables[4]]12. Tổng cộng có 44 bàn
Bây giờ, nếu chúng ta muốn lấy một bảng cụ thể, chúng ta có thể chạy
print[tables[4]]
Đây là đầu ra kết quả
CờKý hiệuTênChủ quyềnnhà nướcDiện tích[km2]Dân sốMật độ dân số[trên mỗi km2]Thủ đô0NaNNaNSKhu vực căn cứ chủ quyền Akrotiri và DhekeliaUK254. 01570059. 100Episkopi Cantonment1NaNNaNÅlandPhần Lan1580. 02948918. 360Mariehamn2NaNNaNBailiwick của Guernsey [c]UK78. 065849844. 000St. Peter Port3NaNNaNBailiwick của Jersey [c]UK118. 2100080819. 000Saint Helier4NaNNaNĐảo FaroeĐan Mạch1399. 05077835. 200Tórshavn5NaNNaNGibraltarUK06. Tháng bảy 321944. 328. 000Gibraltar6NaNNaNGreenlandĐan Mạch [r]2166086. 0558770. 028Nuuk7NaNNaNIsle of Man [c]UK572. 083314148. 000Douglas8NaNNaNSvalbardNa Uy61022. 026670. 044 hong kongBằng cách này, chúng tôi nhận được bảng thứ năm từ danh sách
Tuyệt vời, vậy là chúng ta đã học được cách truy cập một bảng cụ thể từ danh sách. Tuy nhiên, phương pháp này không thực sự hiệu quả vì chúng ta không biết bảng chứa gì nếu chúng ta truy cập nó theo số danh sách. May mắn thay, hàm
print[tables[4]]3 cung cấp cho chúng ta các tham số hữu ích để chỉ định bảng nào chúng ta muốn truy cập
Giả sử chúng ta muốn lấy bảng này từ trang web
Vì nó là một bảng nên nó được chứa ở đâu đó trong danh sách “
print[tables[4]]9” của chúng ta. Để có được bảng cụ thể này, chúng tôi sử dụng tham số “______115”. Tham số này mong đợi một chuỗi hoặc biểu thức chính quy làm đầu vào. Hãy nhập chuỗi
print[tables[4]]16 để nói rằng chúng tôi muốn truy cập bảng này
print[tables[4]]1
Đầu ra này hiển thị tất cả các bảng có chứa chuỗi
print[tables[4]]16. Nhưng như chúng ta có thể thấy, có hai bảng bên trong danh sách này. Chúng tôi có thể xác nhận điều này, bằng cách chạy
print[tables[4]]9
Vì vậy, chúng ta cần cụ thể hơn bên trong tham số “______115” của mình
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #1
Ở đây, chúng tôi chỉ lấy một bảng làm đầu ra, chúng tôi có thể xác nhận lại bảng này
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #2
Có một số tham số khác để áp dụng. Chúng ta sẽ xem xét những cái quan trọng nhất. Giả sử, chúng tôi muốn chuyển đổi các giá trị nguyên trong cột
print[tables[4]]19 thành giá trị float. Ngoài ra, chúng tôi cũng có thể muốn đặt cột “
print[tables[4]]90” làm cột chỉ mục
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #5
Một lần nữa, chúng tôi đã sử dụng tham số “
print[tables[4]]15” như trước đây. Ngoài ra, chúng tôi đã áp dụng tham số “
print[tables[4]]92” và đặt vào một từ điển với tên cột là khóa và loại dữ liệu mà chúng tôi muốn chuyển đổi làm giá trị. Và chúng tôi đã áp dụng tham số “
print[tables[4]]93” và đặt tham số đó thành “0” để nói rằng chúng tôi muốn sử dụng cột đầu tiên [cột “
print[tables[4]]90”] làm chỉ mục. Đầu ra hiển thị bảng đã chuyển đổi
Chuyển đổi các bảng thành Pandas DataFrames
Sau khi chúng ta đã đọc các bảng HTML, bước tiếp theo là biến các bảng này thành khung dữ liệu Pandas để có thể phân tích dữ liệu. “
print[tables[4]]95” mà chúng tôi đã tạo ở trên là từ loại “
print[tables[4]]96” và chỉ chứa một mục nhập
print[tables[4]]2
Bây giờ, chúng tôi muốn chuyển đổi mục nhập danh sách đó thành khung dữ liệu Pandas. Và đây là cách chúng tôi làm điều đó
print[tables[4]]3Quốc giaGDP [danh nghĩa, Năm cao điểm]triệu USDNăm cao điểmXếp hạng–Liên minh châu Âu19226235. 020081Đức4230172. 020212Vương quốc Anh3108416. 020213Pháp2940428. 020214Ý2408392. 020085Nga2288428. 020136Tây Ban Nha1631685. 020087Hà Lan1007562. 020218Gà tây957504. 020139Thụy Sĩ810830. 0202110Ba Lan655332. 02021
Chúng tôi tạo một biến mới “
print[tables[4]]97” và gán cho nó mục nhập đầu tiên của danh sách “
print[tables[4]]95”. Khung dữ liệu xuất ra thực sự là khung dữ liệu Pandas mà chúng ta có thể chứng minh bằng cách thực hiện điều này
print[tables[4]]00
Vì vậy, đây là cách chúng tôi chuyển đổi bảng thành khung dữ liệu. Chúng ta cũng có thể kiểm tra kiểu dữ liệu của từng cột để xem việc chuyển đổi thành float của cột “GDP” có hoạt động không
print[tables[4]]01Quốc giađối tượngGDP [danh nghĩa, Năm cao điểm] triệu USDfloat64Năm cao điểmint64dtype. vật
Như chúng ta có thể thấy, kiểu dữ liệu của cột “
print[tables[4]]99” thực sự là “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #10”
Vì vậy, bây giờ chúng tôi đã chuyển đổi bảng thành khung dữ liệu Pandas, giờ đây chúng tôi có thể thực hiện tất cả các loại công cụ phân tích dữ liệu mà Pandas cung cấp cho chúng tôi
Viết DataFrames vào bảng HTML
Bây giờ chúng ta đã biết cách đọc trong các bảng HTML và cách chuyển đổi chúng thành các khung dữ liệu, trong bước tiếp theo, chúng ta sẽ xem cách ghi các khung dữ liệu vào các bảng HTML bằng cách sử dụng hàm
print[tables[4]]4. Chúng tôi sẽ sử dụng một khung dữ liệu mới cho phương pháp này
print[tables[4]]02
Đây là DataFrame mới được tạo
speedheightlengthdog71. 01. 2cat50. 30. 4fish80. 10. 2Ở đây, chúng ta có tập dữ liệu ví dụ với cột “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #12”, cột “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #13” và cột “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #14”. Chúng tôi tạo một khung dữ liệu Pandas có tên là “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #15” với dữ liệu này và gán các chỉ mục “chó”, “mèo” và “cá” cho nó. Đầu ra hiển thị khung dữ liệu Pandas thông thường
Tiếp theo, chúng ta áp dụng hàm
print[tables[4]]4
print[tables[4]]03
Đây là bảng HTML đầu ra
print[tables[4]]04
Chúng tôi hiển thị “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #15” dưới dạng bảng HTML bằng cách sử dụng
print[tables[4]]4 và gán giá trị này cho biến mới “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #19”. Chúng tôi sử dụng câu lệnh
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #20 cho đầu ra vì nếu không, đầu ra sẽ lộn xộn. Đầu ra hiển thị một bảng HTML cổ điển
Ngoài ra, chúng ta có thể ghi bảng HTML này vào một tệp
print[tables[4]]05
Bằng cách này, chúng tôi tạo một tệp HTML có tên là “index. html” và nó được lưu trữ trong cùng thư mục với tệp python mà chúng ta đang làm việc. Khi chúng tôi vào thư mục và mở tệp HTML bằng trình duyệt, nó sẽ như thế này
Tuy nhiên, cách tiếp cận mà chúng tôi đã sử dụng với các câu lệnh “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #21”, “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #22” và “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #23” hơi dài dòng và không rõ ràng. May mắn thay, Python cung cấp cho chúng tôi một giải pháp thay thế tuyệt vời giúp mã của chúng tôi sạch hơn nhiều
print[tables[4]]06
Ở đây, chúng tôi sử dụng câu lệnh “with” được sử dụng trong xử lý ngoại lệ. Nó làm tương tự như trong ví dụ trên nhưng làm theo cách này mượt hơn nhiều vì chúng ta cần ít mã hơn và dễ đọc hơn
Tạo kiểu cho các bảng HTML
Hàm
print[tables[4]]4 cung cấp cho chúng ta một số tham số tùy chọn mà chúng ta có thể áp dụng để thêm một số kiểu dáng vào bảng HTML của mình. Ví dụ: chúng ta có thể sử dụng tham số “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #25” để căn chỉnh nhãn cột
print[tables[4]]07
HTML đầu ra
print[tables[4]]08
Nếu chúng ta so sánh bảng HTML này với bảng ở trên, chúng ta sẽ thấy rằng “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #26” trong thẻ “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #27” hiện ghi là “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #28” thay vì “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #29” vì giá trị mặc định là “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #29”
Chúng ta cũng có thể thay đổi kích thước đường viền mặc định của “1” thành một giá trị khác bằng cách áp dụng tham số “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #51”
print[tables[4]]09
Đây là đầu ra
print[tables[4]]0
Bây giờ, thẻ “table
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #51” ghi “4” thay vì “1”
Nếu chúng tôi sử dụng bộ chọn id CSS, chúng tôi có thể áp dụng những bộ chọn này trực tiếp bên trong hàm
print[tables[4]]4 bằng cách sử dụng tham số “
import pandas as pd url = "//en.wikipedia.org/wiki/Europe" tables = pd.read_html[url] print[type[tables]] #54”
print[tables[4]]1
Đây là bảng kết quả
print[tables[4]]2
Trong thẻ đầu tiên, giờ đây chúng ta có một phần tử bộ chọn id mà trước đây chúng ta không có
Tóm lược
Nói chung, Pandas cung cấp cho chúng ta một số công cụ hữu ích để sử dụng khi làm việc với các bảng HTML. Chúng ta có thể dễ dàng đọc các bảng HTML trực tiếp từ các trang web với hàm
print[tables[4]]3 và tạo các khung dữ liệu từ các bảng này. Ngoài ra, chúng tôi có thể hiển thị khung dữ liệu của mình dưới dạng bảng HTML, áp dụng một số kiểu cho các bảng này và lưu chúng dưới dạng tệp HTML. Những kỹ năng này rất cần thiết, đặc biệt khi làm việc với dữ liệu web
Để biết thêm hướng dẫn về Pandas, thư viện Python, Python nói chung hoặc các chủ đề liên quan đến khoa học máy tính khác, hãy xem trang Blog Finxter và đăng ký học viện email của chúng tôi
mã hóa hạnh phúc
Luis Bruemmer
Xin chào. Tôi là Luis, sinh viên Hệ thống thông tin, đồng thời là nhà văn và lập trình viên tự do đến từ Đức. Tôi thích viết mã và tạo nội dung giáo dục về khoa học máy tính. Đối với các bài báo tôi đang viết, tôi kết hợp kiến thức tôi có được ở trường đại học với những hiểu biết tôi có được từ việc không ngừng đọc và tìm hiểu về các công nghệ mới. Làm cho giáo dục trở nên dễ tiếp cận hơn cho mọi người là niềm đam mê của tôi và tôi hy vọng bạn thích nội dung tôi đang tạo