Pandas DataFrame sang ví dụ về bảng HTML

Ngôn ngữ đánh dấu siêu văn bản (HTML) là ngôn ngữ đánh dấu tiêu chuẩn để xây dựng các trang web. Chúng tôi có thể kết xuất dữ liệu dạng bảng bằng HTML ________ 08 và ________ 09 để chúng tôi có thể nhập và xuất dữ liệu sang DataFrames

Trong bài viết này, chúng ta sẽ tìm hiểu cách đọc dữ liệu dạng bảng từ tệp HTML và tải nó vào Khung dữ liệu Pandas. Chúng ta cũng sẽ tìm hiểu cách ghi dữ liệu từ Pandas DataFrame và vào tệp HTML

Ghi chú. Trong bài viết này, chúng ta sẽ đọc và viết HTML

yếu tố. Bài viết này không bao gồm phân tích cú pháp toàn bộ tệp HTML

Đọc HTML

Chúng ta có thể đọc các bảng của tệp HTML bằng hàm

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0. Hàm này đọc các bảng tệp HTML dưới dạng Pandas DataFrames. Nó có thể đọc từ một tệp hoặc một URL

Chúng ta hãy xem xét từng nguồn đầu vào một

Đọc dữ liệu HTML từ một tệp

Đối với phần này, chúng tôi sẽ sử dụng một bộ dữ liệu đầu vào. Một bảng chứa các ngôn ngữ lập trình và năm tạo ra chúng. Bảng khác có kích thước đất và chi phí của chúng bằng USD

Lưu nội dung HTML sau vào tệp có tên

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
1





  
  Table Data



  
Ngôn ngữ lập trình Người sáng tạoNăm CDennis Ritchie1972PythonGuido Van Rossum1989Ruby Yukihiro Matsumoto 1995
Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
2

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
3 để phân tích các tệp HTML và XML. Để chức năng
Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0 hoạt động, bạn cần cài đặt
Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
5

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
6 đã được cài đặt, chúng ta có thể sử dụng chức năng
Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0. Nó trả về một danh sách các DataFrames, trong đó mỗi DataFrame là toàn bộ thành phần bảng của tệp HTML đã cho. Chúng tôi truy cập từng bảng dưới dạng DataFrame bằng cách lập chỉ mục danh sách

Đoạn mã dưới đây minh họa việc sử dụng hàm

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0 để đọc các bảng từ tệp HTML

Ghi chú. Mặc dù bạn cần cài đặt

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
5, nhưng bạn không cần nhập nó vào chương trình của mình để Pandas hoạt động

Chạy đoạn mã trên trên trình thông dịch Python sẽ tạo ra đầu ra sau

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700

Đọc dữ liệu HTML từ URL

Cũng giống như chúng ta đọc các phần tử bảng từ tệp HTML, chúng ta cũng có thể đọc các phần tử bảng từ trang web HTML vào DataFrame với

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0. Tuy nhiên, thay cho tên tệp, chúng tôi sẽ cung cấp một URL như thế này

$ pip install lxml
5

Và nó sẽ trả về một danh sách các Khung dữ liệu trong đó mỗi Khung dữ liệu đại diện cho một thành phần bảng từ URL đã cho

Dưới đây là mã ví dụ để đọc các thành phần bảng từ URL của trang web bằng Pandas

Nếu chúng tôi chạy thành công đoạn mã trên, chúng tôi có thể thấy đầu ra là

$ pip install lxml
6

Chúng tôi biết rằng chúng tôi có thể đọc các thành phần bảng từ một trang web. Tuy nhiên, khi trang web yêu cầu xác thực, mã chạy vào ngoại lệ sau

$ pip install lxml
7

Để đọc dữ liệu từ các URL như vậy, chúng tôi sẽ sử dụng mô-đun

$ pip install lxml
51. Bạn có thể cài đặt nó với
$ pip install lxml
52

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0

Bây giờ, chúng tôi sẽ sử dụng phương pháp

$ pip install lxml
53 từ thư viện
$ pip install lxml
51 để đưa ra yêu cầu tới URL của trang web trong khi cung cấp tham số
$ pip install lxml
55 tùy chọn nếu trang web yêu cầu xác thực

Phương thức này trả về một đối tượng phản hồi từ trang web. Chúng tôi có thể kiểm tra mã trạng thái (để đảm bảo nội dung chắc chắn ở đó) và lấy văn bản từ đối tượng phản hồi, sau đó chuyển đổi bảng thành DataFrame

Hãy xem một ví dụ về việc sử dụng

$ pip install lxml
51 để lấy dữ liệu yêu cầu xác thực. Với mục đích này, chúng tôi đang sử dụng https. //httpbin. tổ chức

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
5

Khi thực thi đoạn mã trên, chúng ta có thể thấy đầu ra sau

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
6

Điều này cho thấy rằng chúng tôi đã truy cập thành công nội dung trang web của một URL được xác thực. Tuy nhiên, trang web này chỉ chứa dữ liệu JSON và chúng tôi cần các phần tử bảng HTML dưới dạng DataFrames

Hãy sử dụng URL trước đó và sử dụng

$ pip install lxml
51 để đọc các bảng HTML dưới dạng DataFrames. Mặc dù trang web trước đó là công khai nhưng các bước để truy cập nội dung được xác thực vẫn giống nhau

Khi chúng tôi nhận được phản hồi, chúng tôi có thể chuyển phương thức

$ pip install lxml
58 sang
Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0. Và như thường lệ, chúng ta sẽ nhận được danh sách các bảng mà nó chứa dưới dạng DataFrames

Chạy mã này sẽ tạo ra đầu ra sau

$ pip install lxml
6

Viết bảng HTML với Pandas của Python

Chúng tôi đã đọc thành công dữ liệu từ các bảng HTML. Hãy viết Pandas DataFrame trong tệp HTML. Điều này có thể đạt được bằng cách sử dụng phương pháp

$ pip install lxml
9

$ pip install lxml
9 lấy đường dẫn của tệp bạn muốn xuất dữ liệu sang. Nếu bạn không cung cấp một đường dẫn tuyệt đối, nó sẽ lưu một tệp liên quan đến thư mục hiện tại

Bạn có thể xuất DataFrame sang bảng HTML như thế này

$ pip install lxml
0

Mã này sẽ tạo ra tệp sau

$ pip install lxml
62 trong thư mục hiện tại

$ pip install lxml
1

Lưu ý rằng quá trình xuất không phải là toàn bộ tài liệu HTML mà chỉ là bản thân bảng HTML

Viết các bảng HTML theo kiểu với Pandas của Python

Như chúng ta có thể thấy, theo mặc định, đường viền của bảng là 1, căn lề phải và nó cũng có các chỉ số DataFrame trong các thẻ. Chúng tôi có thể thay đổi cấu trúc mặc định này bằng cách cung cấp một vài tham số tùy chọn

Ẩn chỉ mục

Nếu chúng tôi không muốn bao gồm chỉ mục trong đầu ra của bảng, chúng tôi có thể đặt

$ pip install lxml
63 trong
$ pip install lxml
9

$ pip install lxml
2

Mã này tạo tệp

$ pip install lxml
62 với nội dung sau

$ pip install lxml
3
Thay đổi viền bảng

Đường viền bảng mặc định là 1 pixel. Để thay đổi mặc định này, chúng ta có thể đặt tham số

$ pip install lxml
66 thành giá trị tính bằng pixel

Đoạn mã sau thay đổi đường viền thành 3 pixel

$ pip install lxml
4

Tệp được tạo hiện đặt thuộc tính đường viền của bảng thành "3"

$ pip install lxml
1
Điều chỉnh văn bản

Theo mặc định, văn bản đầu của bảng được căn phải. Chúng tôi thay đổi sự liên kết này với tham số

$ pip install lxml
67. Ví dụ: thực hiện
$ pip install lxml
68 sẽ thêm
$ pip install lxml
69 vào thẻ của thẻ

Hãy thử căn chỉnh văn bản đầu vào giữa và xem kết quả

$ pip install lxml
6

Bảng được tạo bởi đoạn mã trên trông như thế này

$ pip install lxml
7

Văn bản của đầu bảng hiện được căn chỉnh đẹp mắt ở giữa

Phần kết luận

Trong hướng dẫn này, chúng ta đã học cách nhập và xuất dữ liệu bảng HTML bằng Pandas DataFrames. Chúng tôi đã tải dữ liệu bảng HTML từ các tệp cũng như từ các URL của trang web. Trong trường hợp URL được xác thực, chúng tôi đã sử dụng mô-đun yêu cầu để xác thực và truy xuất dữ liệu của trang web, sau đó chuyển văn bản phản hồi vào hàm

Tables found: 2
First Table
  Programming Language             Creator  Year
0                    C      Dennis Ritchie  1972
1               Python    Guido Van Rossum  1989
2                 Ruby  Yukihiro Matsumoto  1995
Another Table
   Area (sq.ft)  Price (USD)
0         12000          500
1         32000          700
0

Chúng tôi cũng đã viết Pandas DataFrame dưới dạng tệp HTML bằng hàm

$ pip install lxml
9. Sau đó, chúng tôi đã tạo kiểu cho bảng đã tạo bằng cách chuyển một vài tham số tùy chọn như
$ pip install lxml
72,
$ pip install lxml
66 và
$ pip install lxml
67. Điều này giúp dễ dàng ghi dữ liệu của DataFrame theo cách trình bày

Làm cách nào để chuyển đổi DataFrame của gấu trúc sang bảng 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 để hiển thị DataFrame của gấu trúc trong HTML?

Mã HTML với jinja . Một vài ví dụ. Với tính năng lọc - https. //github. com/frmdstryr/smd-search. Trình xem đơn giản - https. //github. com/codelv/enaml-web/tree/master/examples/dataframe_viewer

Làm cách nào để chuyển đổi DataFrame thành tệp HTML trong Python?

Chuyển khung dữ liệu sang HTML .
# chuyển đổi thành khung dữ liệu df = pd. DataFrame(data=students) # in khung dữ liệu print(df)
# chuyen sang html html = df. to_html() # in html in(html)
# chuyen sang html html = df. to_html() tệp = open("chỉ mục. html", "w"). ghi (html) tập tin. đóng lại()

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

thay thế = thay thế. split("\n") print(replace) conto = conto. định dạng(*thay thế)
html = html. replace("<---conti--->", 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)