Trong ví dụ này, bạn đã cài đặt thư viện Numpy và Pandas trên máy của mình
cú pháp
pandas.ExcelWriter[path, engine= None, date_format=None, datetime_format=None, mode=’w’,**engine_krawgs]
Thông số
Tất cả các tham số được đặt thành giá trị mặc định
gấu trúc. Hàm ExcelWriter[] có năm tham số
- con đường. Nó thuộc loại chuỗi, cho biết đường dẫn đến tệp xls hoặc xlsx
- động cơ. Nó cũng thuộc loại chuỗi và hoàn toàn không bắt buộc. Nó là động cơ để sử dụng để viết
- Định dạng ngày tháng. Nó cũng thuộc kiểu chuỗi và có giá trị mặc định là Không có. Nó định dạng chuỗi cho các ngày được ghi vào Tệp Excel
- datetime_format. Nó cũng thuộc kiểu chuỗi và có giá trị mặc định là Không có. Nó định dạng chuỗi cho các đối tượng ngày giờ được ghi vào Tệp Excel
- Cách thức. Đó là chế độ của một tệp để sử dụng đó là ghi hoặc nối thêm. Giá trị mặc định của nó là viết, đó là 'w'
Giá trị trả về
Nó xuất dữ liệu thành tệp Excel
Chương trình ví dụ trên Pandas ExcelWriter[]
Bạn phải cài đặt và nhập mô-đun xlsxwriter. Nếu bạn đang chạy sổ ghi chép Jupyter, thì bạn sẽ không cần đến nó; . Bạn có thể tìm thấy hướng dẫn cài đặt ở đây
Viết chương trình hiển thị hoạt động của hàm ExcelWriter[] trong Python
import pandas as pd import numpy as np import xlsxwriter # Creating dataset using dictionary data_set = { 'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '02', '03', '04', np.nan], 'maths': ['93', '63', np.nan, '94', '83'], 'science': ['88', np.nan, '66', '94', np.nan], 'english': ['93', '74', '84', '92', '87']} # Converting into dataframe df = pd.DataFrame[data_set] # Writing the data into the excel sheet writer_obj = pd.ExcelWriter['Write.xlsx', engine='xlsxwriter'] df.to_excel[writer_obj, sheet_name='Sheet'] writer_obj.save[] print['Please check out the Write.xlsx file.']
đầu ra
Please check out the Write.xlsx file.
Nội dung file excel như sau
Trong đoạn mã trên, chúng ta đã tạo một DataFrame lưu trữ dữ liệu của sinh viên. Sau đó, chúng tôi đã tạo một đối tượng nhà văn để ghi dữ liệu của DataFrame vào một trang tính excel và sau khi ghi dữ liệu vào trang tính, chúng tôi đã lưu trang tính. Một số giá trị trong bảng excel ở trên trống vì trong DataFrame, các giá trị đó là np. nan. Để kiểm tra dữ liệu của DataFrame, hãy kiểm tra bảng excel.
Pandas DataFrame to_excel[]
Hàm Pandas DataFrame to_excel[] ghi một đối tượng vào trang tính Excel. Chúng tôi đã sử dụng hàm to_excel[] trong ví dụ trên vì phương thức ExcelWriter[] trả về đối tượng nhà văn và sau đó chúng tôi sử dụng DataFrame. to_excel[] để xuất nó thành tệp Excel
Để ghi một đối tượng vào Excel. xlsx, chỉ cần chỉ định tên tệp đích. Để ghi vào nhiều trang tính, bạn phải tạo đối tượng ExcelWriter có tên tệp đích và chỉ định trang tính trong tệp để ghi vào
Có thể ghi nhiều trang tính bằng cách chỉ định tên_trang tính duy nhất. Với tất cả dữ liệu được ghi vào một tệp, cần lưu các thay đổi. Lưu ý rằng việc tạo đối tượng ExcelWriter với tên tệp đã tồn tại và sẽ dẫn đến nội dung của tệp hiện có bị xóa
Chúng ta cũng có thể viết ví dụ trên bằng Python với câu lệnh
import pandas as pd import numpy as np import xlsxwriter # Creating dataset using dictionary data_set = { 'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '02', '03', '04', np.nan], 'maths': ['93', '63', np.nan, '94', '83'], 'science': ['88', np.nan, '66', '94', np.nan], 'english': ['93', '74', '84', '92', '87']} # Converting into dataframe df = pd.DataFrame[data_set] with pd.ExcelWriter['WriteWith.xlsx', engine='xlsxwriter'] as writer: df.to_excel[writer, sheet_name='Sheet'] print['Please check out the WriteWith.xlsx file.']
đầu ra
Please check out the WriteWith.xlsx file.
Bạn có thể kiểm tra WriteWith. xlsx và xem nội dung của nó. Nó sẽ giống như Viết. tập tin xlsx
Viết nhiều DataFrames vào nhiều trang tính
Trong ví dụ trên, chúng tôi chỉ thấy một trang tính cho một Khung dữ liệu duy nhất. Chúng tôi có thể viết nhiều Khung với nhiều trang tính bằng Pandas. ExcelWriter.
Hãy viết một ví dụ trong đó chúng ta sẽ tạo ba DataFrames và lưu các DataFrames đó trong nhiều trang tính. xlsx có ba trang tính khác nhau
import pandas as pd import numpy as np import xlsxwriter # Creating dataset using dictionary data_set = { 'Name': ['Rohit', 'Arun', 'Sohit', 'Arun', 'Shubh'], 'Roll no': ['01', '02', '03', '04', np.nan], 'maths': ['93', '63', np.nan, '94', '83'], 'science': ['88', np.nan, '66', '94', np.nan], 'english': ['93', '74', '84', '92', '87']} data_set2 = { 'Name': ['Ankit', 'Krunal', 'Rushabh', 'Dhaval', 'Nehal'], 'Roll no': ['01', '02', '03', '04', np.nan], 'maths': ['93', '63', np.nan, '94', '83'], 'science': ['88', np.nan, '66', '94', np.nan], 'english': ['93', '74', '84', '92', '87']} data_set3 = { 'Name': ['Millie', 'Jane', 'Michael', 'Bobby', 'Brown'], 'Roll no': ['01', '02', '03', '04', np.nan], 'maths': ['93', '63', np.nan, '94', '83'], 'science': ['88', np.nan, '66', '94', np.nan], 'english': ['93', '74', '84', '92', '87']} # Converting into dataframe df = pd.DataFrame[data_set] df2 = pd.DataFrame[data_set2] df3 = pd.DataFrame[data_set3] with pd.ExcelWriter['multiplesheet.xlsx', engine='xlsxwriter'] as writer: df.to_excel[writer, sheet_name='Sheet'] df2.to_excel[writer, sheet_name='Sheet2'] df3.to_excel[writer, sheet_name='Sheet3'] print['Please check out the multiplesheet.xlsx file.']
đầu ra
Bạn có thể thấy rằng có ba trang tính và mỗi trang tính có các cột Tên khác nhau
Hàm to_excel[] chấp nhận sheet_name làm tham số và ở đây chúng ta có thể chuyển ba tên trang tính khác nhau và DataFrame đó được lưu trong các trang tính tương ứng
Phần kết luận
Nếu bạn muốn xuất Pandas DataFrame sang tệp Excel, thì lớp ExcelWriter[] là tất cả những gì bạn cần. Lớp ExcelWrite[] cung cấp đối tượng người viết, sau đó chúng ta có thể sử dụng hàm to_excel[] để xuất DataFrame sang tệp Excel. Đó là nó cho Pandas. Lớp ExcelWriter
Xem thêm
Cách tải tệp CSV trong Pandas
Gấu trúc to_json[]
Pandas DataFrame sang CSV
Bài viết trước Cách tạo ID ngẫu nhiên bằng UUID trong Python
Bài viết tiếp theo Phương thức mô tả khung dữ liệu Pandas[] trong ví dụ về Python
Ankit Lathiya
Ankit Lathiya là Bậc thầy về Ứng dụng Máy tính theo chuyên môn và là Nhà phát triển Android và Laravel chuyên nghiệp, đồng thời là một trong những tác giả của blog này