Trang này xem cách lưu khung dữ liệu Pandas dưới dạng bảng trong tài liệu Word từ bên trong Python. Nhiều bit và phần định dạng khác cũng có thể được thực hiện đối với tài liệu Word và các đối tượng Python khác như chuỗi và số có thể được đưa vào để tạo báo cáo đầy đủ. Điều này có thể cực kỳ hữu ích khi bạn muốn hiển thị kết quả phân tích bằng Python cho đối tượng không có kỹ thuật
Các bước chúng ta cần làm theo là
- Nhập [các] gói yêu cầu
- Tạo khung dữ liệu
- Khởi tạo tài liệu Word
- Khởi tạo bảng sẽ đi vào tài liệu Word
- Thêm thông tin trong khung dữ liệu vào bảng trong tài liệu Word
- Xuất nó vào máy tính của bạn
- Tùy chỉnh định dạng của bảng
- Thêm nội dung vào tài liệu
Để thực hiện xuất, cần có gói docx. Cài đặt cái này từ thiết bị đầu cuối với
import pandas as pd
3 [thay thế import pandas as pd
4 bằng phiên bản bạn có], sau đó tạo một tập lệnh Python mới nơi bạn bắt đầu bằng cách nhập nóimport docx
Tiếp theo, nhập gói pandas [cài đặt nó với
import pandas as pd
5] sẽ cho phép bạn tạo khung dữ liệuimport pandas as pd
Đây là thông tin cuối cùng bạn sẽ thêm dưới dạng bảng vào tài liệu Word. Đối với hướng dẫn này, chúng tôi sẽ sử dụng thông tin về các đơn vị SI làm ví dụ
# Create a data frame
si_units = {
'Name': ['Second', 'Metre', 'Kilogram', 'Ampere', 'Kelvin', 'Mole', 'Candela'],
'Symbol': ['s', 'm', 'kg', 'A', 'K', 'mol', 'cd'],
'Quantity': [
'Time', 'Length', 'Mass', 'Electric current', 'Thermodynamic temperature',
'Amount of substance', 'Luminous intensity'
],
'Emojii': ['🕒', '📏', '🏋️', '⚡', '🌡️', '⚛️', '💡']
}
df = pd.DataFrame[si_units]
print[df]
## Name Symbol Quantity Emojii
## 0 Second s Time 🕒
## 1 Metre m Length 📏
## 2 Kilogram kg Mass 🏋️
## 3 Ampere A Electric current ⚡
## 4 Kelvin K Thermodynamic temperature 🌡️
## 5 Mole mol Amount of substance ⚛️
## 6 Candela cd Luminous intensity 💡
Với gói docx đã nhập, giờ đây chúng ta có thể tạo một đối tượng tài liệu Word trống [mà chúng ta sẽ gọi là
import pandas as pd
6] bằng cách sử dụng hàm import pandas as pd
7# Initialise the Word document
doc = docx.Document[]
Tạo một đối tượng bảng trống và thêm nó vào tài liệu bằng hàm
import pandas as pd
8. Khi thực hiện việc này, bạn cần cho hàm biết có bao nhiêu hàng và cột mà bảng trong tương lai của bạn sẽ có; # Initialise the table
t = doc.add_table[rows=df.shape[0], cols=df.shape[1]]
Điều này có thể được thực hiện dễ dàng nhất bằng cách lặp qua mọi ô trong khung dữ liệu và thêm nội dung của từng ô vào ô tương ứng trong bảng
# Add the body of the data frame to the table
for i in range[df.shape[0]]:
for j in range[df.shape[1]]:
cell = df.iat[i, j]
t.cell[i, j].text = str[cell]
# Save the Word doc
doc.save['table 1.docx']
Tài liệu Word của bạn sẽ trông như thế này
Bạn sẽ nhận thấy rằng bảng trên không bao gồm tiêu đề cột. Để có những thứ này, bảng cần được tạo với một hàng bổ sung ở trên cùng chứa đầy tên của chuỗi từ khung dữ liệu
# Initialise the Word document
doc = docx.Document[]
# Initialise the table
t = doc.add_table[rows=[df.shape[0] + 1], cols=df.shape[1]]
# Add the column headings
for j in range[df.shape[1]]:
t.cell[0, j].text = df.columns[j]
# Add the body of the data frame
for i in range[df.shape[0]]:
for j in range[df.shape[1]]:
cell = df.iat[i, j]
t.cell[i + 1, j].text = str[cell]
# Save the Word doc
doc.save['table 2.docx']
Lưu ý rằng bạn không phải khởi tạo bảng với số hàng chính xác;
Các công ty lớn và nhỏ tạo báo cáo hàng ngày bằng các công cụ Microsoft Office như Word và Excel. Trong bài viết này, tôi sẽ cung cấp giải thích từ đầu đến cuối về cách tạo bảng dữ liệu trong MS Word thông qua Python
Tôi sẽ xem xét một tình huống trong đó chúng tôi có một số bài báo và chúng tôi cần tạo một tài liệu Word với các bảng chứa số liệu thống kê được trích xuất từ các bài báo này. Một số số liệu thống kê này là. số từ, số câu và độ dài trung bình của từ
phụ thuộc
Trong ví dụ này, tôi đã sử dụng Python 3. 7. Phần phụ thuộc duy nhất bạn cần cài đặt là python-docx. Bạn có thể cài đặt phần phụ thuộc này bằng cách gửi lệnh sau trong thiết bị đầu cuối của máy
pip install python-docx
Trích xuất số liệu thống kê từ các bài báo
Trong ví dụ này, tôi đã chọn ngẫu nhiên hai bài báo thể thao từ CNN. Để trích xuất số liệu thống kê, tôi đã viết hàm describe_text[text]
bên dưới. Hàm này nhận một tham số chuỗi [bài viết, đánh giá,…] và trả về một từ điển thống kê như Số ký tự, Số từ, Số câu, v.v.
Tạo bảng
Trước tiên, bạn cần khởi tạo một đối tượng tài liệu thông qua lớp Document
. Đối với mỗi bài báo, trích xuất số liệu thống kê bằng cách gọi hàm describe_text[text]
và tạo bảng thông qua hàm add_table[row, columns]
. Đối với mọi chỉ số trong từ điển, hãy tạo một hàng thông qua hàm add_row[]
và thêm các chỉ số tương ứng. Cuối cùng, thêm dấu ngắt trang ở cuối bằng cách gọi hàm add_page_break[]
để hiển thị mỗi bảng trong một trang mới
Để biết thêm số liệu thống kê văn bản với các hàm Python thuần túy, hãy xem bài viết khác của tôi bên dưới
10 hàm Python thuần túy để phân tích văn bản đặc biệt
Bóp dữ liệu văn bản mà không cần thư viện bên ngoài
hướng tới khoa học dữ liệu. com
Phần kết luậnTạo tài liệu từ với Python thật dễ dàng. Tất cả những gì bạn cần là thư viện python-docx. Thư viện này cung cấp khả năng thực hiện hầu hết mọi thứ [nhưng không phải tất cả] mà bạn có thể thực hiện trong MS Word
Theo kinh nghiệm của tôi, tôi đã tạo hàng nghìn tài liệu Word với số trang hai chữ số chỉ trong vài giây. Tôi đã làm điều này để sắp xếp dữ liệu nhật ký ở định dạng dễ đọc hơn hoặc trình bày các phát hiện bằng văn bản sau khi phân tích dữ liệu văn bản đánh giá sản phẩm