Làm cách nào để lưu khung dữ liệu dưới dạng html trong python?

Tiết lộ. Bài đăng này có thể chứa các liên kết liên kết, nghĩa là khi bạn nhấp vào liên kết và mua hàng, chúng tôi sẽ nhận được hoa hồng

Có nhiều trường hợp bạn phải chuyển đổi khung dữ liệu Pandas của mình thành bảng HTML. Hai trong số những lý do chính là bạn muốn xem tập dữ liệu của mình tốt hơn với tư cách là nhà phân tích dữ liệu hoặc tích hợp nó vào trang web của tổ chức bạn

Trong hướng dẫn này, chúng tôi sẽ chuyển đổi bất kỳ khung dữ liệu Pandas nào thành một bảng tương tác có phân trang và chúng tôi có thể thực hiện sắp xếp theo cột và tìm kiếm

Tất nhiên, để bắt đầu, bạn phải cài đặt Pandas

$ pip install pandas

Nhập các thư viện cần thiết

import pandas as pd
import webbrowser

Chúng tôi sẽ sử dụng mô-đun webbrowser để tự động mở bảng HTML kết quả trong một tab mới trên trình duyệt mặc định

Hãy tạo một hàm chấp nhận khung dữ liệu làm đối số và trả về nội dung HTML cho điều đó

def generate_html[dataframe: pd.DataFrame]:
    # get the table HTML from the dataframe
    table_html = dataframe.to_html[table_id="table"]
    # construct the complete HTML with jQuery Data tables
    # You can disable paging or enable y scrolling on lines 20 and 21 respectively
    html = f"""
    
    
        
    
    
    {table_html}
    
    
    
    
    
    """
    # return the html
    return html

May mắn thay, Pandas có phương thức to_html[] tích hợp để tạo nội dung HTML của khung dữ liệu đó dưới dạng thẻ table. Sau đó, chúng tôi tạo một trang HTML hoàn chỉnh và thêm tiện ích mở rộng bảng dữ liệu jQuery để nó tương tác

Theo mặc định, phân trang, sắp xếp theo cột và tìm kiếm được bật; . Ví dụ: nếu bạn muốn tắt phân trang và hiển thị toàn bộ khung dữ liệu, bạn có thể bỏ chú thích paging: false [hãy nhớ chú thích trong Javascript là "//" chứ không phải "#" như trong Python]

Tôi đang lấy tập dữ liệu này cho mục đích trình diễn. Hãy thử nó ra

if __name__ == "__main__":
    # read the dataframe dataset
    df = pd.read_csv["Churn_Modelling.csv"]
    # take only first 1000, otherwise it'll generate a large html file
    df = df.iloc[:1000]
    # generate the HTML from the dataframe
    html = generate_html[df]
    # write the HTML content to an HTML file
    open["index.html", "w"].write[html]
    # open the new HTML file with the default browser
    webbrowser.open["index.html"]

Sau khi chúng tôi nhận được nội dung HTML của mình, chúng tôi viết nó vào một tệp

import pandas as pd
import webbrowser
0 mới và mở nó bằng chức năng
import pandas as pd
import webbrowser
0. Đây là những gì nó trông giống như

Điều thú vị là chúng ta có thể tìm kiếm trên bảng

Hoặc sắp xếp theo một cột cụ thể

Hoặc chỉnh sửa cài đặt phân trang, ví dụ: hiển thị 50 mục trên mỗi trang

Bạn cũng có thể xem các trang bên dưới bảng

Sự kết luận

Được rồi. Đó là nó cho hướng dẫn. Tôi hy vọng nó hữu ích để bạn dễ dàng xem tập dữ liệu của mình tốt hơn hoặc tích hợp nó dưới dạng nội dung HTML trên trang web của bạn

Nếu bạn muốn theo cách khác, trích xuất các bảng HTML và chuyển đổi chúng thành tệp CSV, hãy xem hướng dẫn này

Tập dữ liệu được sử dụng trong hướng dẫn này có nguồn gốc từ Kaggle. Bạn có thể tải tại đây nếu chưa có tài khoản Kaggle

Lưu ý rằng kiểu dáng của bảng sẽ chỉ hoạt động nếu bạn có kết nối Internet. Nếu bạn muốn nó hoạt động ngoại tuyến, bạn chỉ cần tải xuống các tệp JS/CSS và đặt chúng vào thư mục hiện tại để nó tải chúng từ máy cục bộ của bạn thay vì từ CDN

Bạn có thể lấy mã hoàn chỉnh tại đây

Cuối cùng, nếu bạn là người mới bắt đầu và muốn học Python, tôi khuyên bạn nên tham gia khóa học Python For Everyone Coursera, trong đó bạn sẽ học được nhiều điều về Python. Bạn cũng có thể xem trang tài nguyên và khóa học của chúng tôi để xem các tài nguyên Python mà tôi đề xuất về các chủ đề khác nhau

Hàm định dạng để áp dụng cho các phần tử của cột theo vị trí hoặc tên. Kết quả của mỗi chức năng phải là một chuỗi unicode. Danh sách/bộ phải có độ dài bằng số cột

float_format chức năng một tham số, tùy chọn, mặc định Không có

Hàm định dạng để áp dụng cho các phần tử của cột nếu chúng là số float. Hàm này phải trả về một chuỗi unicode và sẽ chỉ được áp dụng cho các phần tử không phải

import pandas as pd
import webbrowser
1, với
import pandas as pd
import webbrowser
1 được xử lý bởi
import pandas as pd
import webbrowser
3

Thay đổi trong phiên bản 1. 2. 0

sparsify bool, tùy chọn, mặc định Đúng

Đặt thành Sai cho Khung dữ liệu có chỉ mục phân cấp để in mọi khóa đa chỉ mục ở mỗi hàng

index_names bool, tùy chọn, mặc định Đúng

In tên của các chỉ mục

biện minh str, mặc định Không có

Cách căn chỉnh nhãn cột. Nếu Không ai sử dụng tùy chọn từ cấu hình in [được kiểm soát bởi set_option], 'phải' ra khỏi hộp. Giá trị hợp lệ là

Làm cách nào để hiển thị DataFrame của gấu trúc trong HTML?

Pandas trong Python có khả năng chuyển đổi Pandas DataFrame thành 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.

Làm cách nào để tạo bảng HTML bằng Python?

thay thế = thay thế. split["\n"] print[replace] conto = conto. định dạng[*thay thế]
html = html. replace["", conto] with open[myfile := "table.html", "w"] as file:.
tập tin. viết [html] hệ điều hành. tệp bắt đầu [tệp của tôi]

Làm cách nào để in bảng HTML bằng Python?

Tạo bảng HTML bằng Python 3 .
Tệp đầu vào. Tệp đầu vào phải chứa dữ liệu ở định dạng được phân cách bằng dấu phẩy với các tiêu đề cột nằm ở hàng đầu tiên. .
Tệp đầu ra. .
Tệp đầu ra được hiển thị trong CSS của trang web

Làm cách nào để sử dụng gấu trúc trong HTML?

Một số thủ thuật Pandas read_html[] để giúp bạn bắt đầu quét web .
Đọc các bảng từ một chuỗi
Đọc các bảng từ một URL
Đọc các bảng từ một tập tin
Phân tích cột ngày bằng parse_dates
Typecast rõ ràng với bộ chuyển đổi
Cột MultiIndex, tiêu đề và chỉ mục
Ghép một bảng với que diêm
Lọc bảng với attrs

Chủ Đề